<?php //rss1.0 rss2.0 atom対応
$rss_url = array( //配列にrss1.0 またはrss2.0 またはatomのurlを入力
"http://tannsokuvip.blog54.fc2.com/?xml", //rss1.0
"http://blog.goo.ne.jp/staffblog/rss2.xml", //rss2.0
"http://hamusoku.com/atom.xml" //atom
);
rss($rss_url);
function rss($rss_url){ //こっから下はもっとスマートに書けると思うけど自分の技術不足のため放置
foreach($rss_url as $url){
$rss = simplexml_load_file("$url");
if($rss->entry){ //atomの条件
foreach ($rss->entry as $ent){
print "<p>";
print $ent->title;
print "<br>";
print $ent->link['href']; //xmlの属性へのアクセスの仕方 http://www.phppro.jp/qa/1308 のA3にヒント
print "<br>";
print $rss->title;
print "<br>";
if($ent->issued){ //atom エントリーが公開された日時
print date('Y年n月j日G時i分',strtotime($ent->issued)); //atom version=0.3
}else if($ent->updated){ //strtotime() 参照 http://jp2.php.net/manual/ja/function.strtotime.php
print date('Y年n月j日G時i分',strtotime($ent->updated)); //atom version=1.0, date() 参照 http://jp2.php.net/manual/ja/function.date.php
}
print "<br>";
print "</p>";
}
}
elseif($rss->item){ //rss1.0
foreach ($rss->item as $item){
$dc = $item->children('http://purl.org/dc/elements/1.1/');
print "<p>";
print $item->title;
print "<br>";
print $item->link;
print "<br>";
print $rss->channel->title;
print "<br>";
print date('Y年n月j日G時i分',strtotime($dc->date));
print "<br>";
print "</p>";
}
}elseif($rss->channel->item){ //rss2.0
foreach ($rss->channel->item as $item){
$dc = $item->children('http://purl.org/dc/elements/1.1/');
print "<p>";
print $item->title;
print "<br>";
print $item->link;
print "<br>";
print $rss->channel->title;
print "<br>";
print date('Y年n月j日G時i分',strtotime($dc->date));
print "<br>";
print "</p>";
}
}
}
}
?>
とりあえずここまで。
読み込みたいxmlの要素をアレンジすればいろいろ表示できそう。
あとは、Mysqlに保存したりしてみたりしたい。
0 件のコメント:
コメントを投稿