Magpie RSS - PHP RSS Parser によるRSSデータのパース処理
初期設定
ライブラリを落としてきて修正します。初期では日本語文字コードに対応していないため、修正をかけます。今回は、magpierss-0.72 で確認しました。
修正箇所は、rss_fetch.inc の357行目、
rss_fetch.inc
if ( !defined('MAGPIE_OUTPUT_ENCODING') ) {
define('MAGPIE_OUTPUT_ENCODING', 'UTF-8');
}
もしくは、読み込み時に変更します。
magpierss
require_once('./magpierss-0.72/rss_fetch.inc');
define('MAGPIE_OUTPUT_ENCODING', 'UTF-8');
日付処理
code
$loop = fetch_rss($url);
foreach($loop->items as $itemValue){
$title = $itemValue['title'];
$link = $itemValue['link'];
if($loop->feed_type == 'Atom'){
$dc = Date("Y/m/d H:i:s", strtotime($itemValue['updated']));
} else if($loop->feed_type == 'RSS'){
if($loop->feed_version == '2.0'){
$dc = Date("Y/m/d H:i:s", strtotime($itemValue['pubdate']));
} else if($loop->feed_version == '1.0'){
$dc = Date("Y/m/d H:i:s", strtotime($itemValue['dc']['date']));
}
}
}
取得できるデータはRSSの形式によりことなりますが、日付データの箇所だけは別個に指定する必要があります。Atom, RSS1.0, RSS2.0 で宣言がことなるためこの点だけ気をつければ問題ないと思います。