もくじ
「MagpieRSS」を使って複数のサイトから RSS を取得し、それをさらに外部サイトに読み込む方法をメモです。
いくつかのブログを運営している場合などに、それらの更新情報をまとめて表示したいのよ!ということが可能になると思います。
01_まずは MagpieRSS をアップロードします
MagpieRSS をダウンロードして解凍後、以下のファイルをサーバにアップロードします。
- rss_cache.inc
- rss_fetch.inc
- rss_parse.inc
- rss_utils.inc
- extlib フォルダ
02_RSS を取得するための index.php を作成します
先ほどアップロードした場所に index.php を作成します。
<?php
//-------------------------------------------------------------------------
$urls[] = 'http://www.◯◯.com/blog/rss.xml';
$urls[] = 'http://www.◯◯.com/blog/rss.xml';
//-------------------------------------------------------------------------
require_once 'http://www.◯◯.com/アップロードしたディレクトリ/rss_fetch.inc';
foreach ($urls as $url){
// get rss
$rss = fetch_rss($url);
// Title
$title = $rss->channel['title'];
$title = mb_convert_encoding($title, "UTF-8", "auto");
echo "<h2>$title</h2>n";
// Items
echo "<ul>n";
foreach ($rss->items as $item ) {
$title = $item[title];
$title = mb_convert_encoding($title, "UTF-8", "auto");
$url = $item[link];
echo "<li><a href="$url">$title</a></li>n";
}
echo "</ul>n";
}
?>
»pc.casey.jp » PHPでRSSを取得して表示する
03_文字化け対策をしておきます
このままでは文字化けするので、
rss_fetch.inc の
if ( !defined('MAGPIE_OUTPUT_ENCODING') ) {
define('MAGPIE_OUTPUT_ENCODING', 'ISO-8859-1');
}
を以下のように変更します。
if ( !defined('MAGPIE_OUTPUT_ENCODING') ) {
define('MAGPIE_OUTPUT_ENCODING', 'UTF-8');
}
04_取得した RSS を外部から読み込みます
iframe を使って以下のようにするか、
<iframe src="http://www.◯◯.com/rss/index.php"></iframe>
PHP の場合は include で表示させます!
»Magpie RSS – PHP RSS Parser»MagpieRSS – PHP で使える RSS パーサー。