RSSをparseする

XML_RSSというライブラリを使います。

http://pear.php.net/package/XML_RSS/

ref http://www.doyouphp.jp/sample/sample_xml_pear_rss.shtml

require_once 'XML/RSS.php';

$rss = new XML_RSS($url);
$res = $rss->parse();
if (PEAR::isError($res)) {
    // 例外
}

foreach ($rss->getItems as $item) {
    // 処理
}

超簡単です。
ただ、XML_RSSAtomに対応してません。
Atomのfeedをparseするとitemが一個も帰ってきません。
どうしたものか。


;; 追記
SimplePieというライブラリを使いました。

ref http://simplepie.org/

$rss = new SimplePie($url);
foreach (@$rss->get_items() as $item) {
    // 処理
}

簡単だけどよく使い方がわからない。
simple to useって書いてあるし、動いてるからいいか。


;; 追記
XML_Feed_Parserというのがあるらしい。ただし、PHP5のみ。

ref http://pear.php.net/package/XML_Feed_Parser