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が解析出来れば問題ないのだけれど。