複数のWebサイトからRSSを取得して表示させる方法
2010-07-05

「MagpieRSS」を使って複数のサイトから RSS を取得し、それをさらに外部サイトに読み込む方法をメモです。
いくつかのブログを運営している場合などに、それらの更新情報をまとめて表示したいのよ!ということが可能になると思います。
01_まずは MagpieRSS をアップロードします
MagpieRSS をダウンロードして解凍後、以下のファイルをサーバにアップロードします。
- rss_cache.inc
- rss_fetch.inc
- rss_parse.inc
- rss_utils.inc
- extlib フォルダ
02_RSS を取得するための index.php を作成します
先ほどアップロードした場所に index.php を作成します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <?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 の
357 358 359 | if ( !defined('MAGPIE_OUTPUT_ENCODING') ) { define('MAGPIE_OUTPUT_ENCODING', 'ISO-8859-1'); } |
を以下のように変更します。
357 358 359 | if ( !defined('MAGPIE_OUTPUT_ENCODING') ) { define('MAGPIE_OUTPUT_ENCODING', 'UTF-8'); } |
04_取得した RSS を外部から読み込みます
iframe を使って以下のようにするか、
1 | <iframe src="http://www.◯◯.com/rss/index.php"></iframe> |
PHP の場合は include で表示させます!
»Magpie RSS – PHP RSS Parser
»MagpieRSS – PHP で使える RSS パーサー。
