RSSフィード(XML)をパースしてPHPオブジェクト(や配列)に変換するには下記の2通りの方法があります
xml 文章を配列やオブジェクトにしてくれる PEAR::XML_Serializer
http://pear.php.net/package/XML_Serializer/download
からダウンロード
pear install XML_Util pear install XML_Serializer-0.18.0
でOK!
<b>またはこのファイルをダウンロード(phplib.zip)してサーバーにアップロードします。</b>
$url = "http://sankei.jp.msn.com/rss/news/points.xml"; // RSSフィードのURL $xml = file_get_contents($url); require_once "XML/Unserializer.php"; $parser = new XML_Unserializer(array('parseAttributes' => true)); $parser->unserialize($xml); $data = $parser->getUnserializedData(); if (PEAR::isError($data)) { print ('ERROR'); } print_r($data);
エラー補足は PEAR::isError で行えます。
$url = "http://sankei.jp.msn.com/rss/news/points.xml"; // RSSフィードのURL $xml = file_get_contents($url); $xml = preg_replace( '/dc:/', 'dc_', $xml ); // <dc:subject> <dc:date> などを取得する場合は : を _ に置換する。 $data_obj = new SimpleXMLElement($xml); $data = (ARRAY)$data_obj; print_r($data);
どちらも簡単ですね!