投稿日 ・ 約4分で読めます

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

「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&#039;;

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