RSSのフィードをパースする。
PEAR::XML_Feed_Parserを利用。
RSSのヘッドの情報と、各エントリーの情報を取得する。
RSS 1.0 RSS 2.0 Atomに対応。
<? // PEAR::XML_Feed_Parser require_once('XML/Feed/Parser.php'); function Get_RSS_feed_list($url,&$feed_head,&$feed_list) { // file parse $src = file_get_contents($url); try { $feed = new XML_Feed_Parser($src); }catch( Exception $e ){ die($e->GetMessage()); } // rss head $version = $feed->version(); $feed_head['title'] = $feed->title; $feed_head['link'] = $feed->link; $feed_head['description'] = $feed->description; $feed_head['creator'] = $feed->creator; $feed_head['version'] = $version; // rss list $i = 0; foreach($feed as $entry) { switch($version) { case 'RSS 1.0': $dt = date('Y/m/d' ,$entry->date); break; case 'RSS 2.0': $dt = date('Y/m/d' ,$entry->Pubdate); break; case 'Atom 1.0': $dt = date('Y/m/d' ,$entry->published); break; default: $dt = 'no date'; } $feed_list[$i]['title'] = $entry->title; $feed_list[$i]['link'] = $entry->link; $feed_list[$i]['description'] = $entry->description; $feed_list[$i]['date'] = $dt; $feed_list[$i]['creator'] = $entry->creator; $feed_list[$i]['content'] = $entry->content; $i++; } } $url = "http://d.hatena.ne.jp/tknzk/index.xml"; Get_RSS_Feed_list($url, $rss_head, $rss_list); ?>
file_get_contentsでRSSフィードのファイルが開けることが条件
自サーバでMTを利用しているときは、要確認。