「MagpieRSS」を使って複数のサイトから RSS を取得し、それをさらに外部サイトに読み込む方法をメモです。
いくつかのブログを運営している場合などに、それらの更新情報をまとめて表示したいのよ!ということが可能になると思います。
01_まずは MagpieRSS をアップロードします
MagpieRSS をダウンロードして解凍後、以下のファイルをサーバにアップロードします。
- rss_cache.inc
- rss_fetch.inc
- rss_parse.inc
- rss_utils.inc
- extlib フォルダ
02_RSS を取得するための index.php を作成します
先ほどアップロードした場所に index.php を作成します。
»pc.casey.jp » PHPでRSSを取得して表示する<?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”; } ?>
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 パーサー。