nantekkotai achieves

過去記事置き場

PHPでRSS1.0のフィードを「magpieRSS」で取得する

前回はZend FrameworkのZend_Feedを使ったが、あれだとRSS1.0が取得できない。
そこで「magpieRSS」なるものを使ってRSS1.0を取得・解析してみる。
本家 http://magpierss.sourceforge.net/
参考 http://itpro.nikkeibp.co.jp/article/COLUMN/20070205/260823/
以下のコードで動いた。

require_once "magpierss/rss_fetch.inc";
define('MAGPIE_OUTPUT_ENCODING', 'UTF-8'); 
$url   = "http://d.hatena.ne.jp/nantekkotai/rss";
$rss   = fetch_rss($url);
$title = $rss->channel['title'];
echo "<h3>$title</h3>\n";
echo "<dl>\n";
foreach ($rss->items as $item_key => $item ) {
	$title       = htmlspecialchars($item['title']);
	$description = htmlspecialchars($item['description']);
	$url         = htmlspecialchars($item['link']);		
}
echo "<dt><a href=\"$url\">$title</a></dt>\n";
echo "<dd>$description</dd>\n";
echo "<dd>$content</dd>\n";

日本のブログはRSS1.0が多い。フィードの解析するためにmagpieRSSとZend_Feedを使い分けないといけないのは面倒だ。そもそもZend_FeedでRSS1.0が解析出来れば問題ないのだけれど。