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 パーサー。

こちらの関連記事もあわせてどうぞ!