ソースコード
RSS 1.0バージョンを取得するソースコードは、例えばこんな感じです。
sample.php
<?php
//RSS配信先のURLを設定
$rssurl="ここにRSSバージョン1.0対応のURL";
//セッションの初期化
$xmlurl = curl_init($rssurl);
curl_setopt($xmlurl, CURLOPT_RETURNTRANSFER, true); //戻り値を文字列に
//実行
$contents = curl_exec($xmlurl);
//システムリソースを解放
curl_close($xmlurl);
//XML文字列をオブジェクトに代入
$xmlfile = simplexml_load_string( $contents, 'SimpleXMLElement', LIBXML_NOCDATA );
//タイトルを取得
$mtxml = $xmlfile->channel->title;
$dxml = $xmlfile->channel->description;
$rssch = "<h2>".$mtxml."</h2>";
$rssch .= $dxml."<br /><br /><br />";
//rssフィードを取得
$rssitem = "";
date_default_timezone_set('Asia/Tokyo'); //「php.ini」ファイルで設定されていれば必要ありません
foreach ($xmlfile->item as $getitem) {
$title2 = $getitem->title;
$link2 = $getitem->link;
$date = $getitem->children("http://purl.org/dc/elements/1.1/")->date; /*rss-ver1.0*/
$date = strtotime($date);
$date = date("Y年n月j日 G時i分", $date);
$description2 = $getitem->description;
$description2 = strip_tags($description2, '<a><img><div>');
$rssitem .= "<a href = ".$link2." target='_blank'>".$title2."</a><br />";
$rssitem .= $date."<br />";
$rssitem .= $description2."<br /><br />";
}
//rssフィードを表示
$rss = "";
$rss = $rssch.$rssitem;
echo $rss;
?>
RSSのフォーマットには複数存在しますが、RSSバージョン2.0の取得方法については、上記コードの一部を編集をすればOK。
たとえば以下のような感じです。
foreach ($xmlfile->channel->item as $getitem) {
$title2 = $getitem->title;
$link2 = $getitem->link;
$date = $getitem->pubDate; /*rss-ver2.0*/
¦
¦
}
バージョン1.0はchannelタグとitemタグは、分かれています。
対して、
バージョン2.0では、すべてのitemタグは、channelタグ(親)の中に入ってます。
日付はバージョン1.0と違い、pubDateタグから簡単に取得することが出来ます。
RSS配信サイトで、たとえばニュース情報などのソースコードをブラウザで開いて見てください。
XML形式で書かれたファイルから、RSSバージョンや日付等の様々な情報を確認することが出来ます。