MagpieRSSをいろいろ試して
PHPで使えるRSSパーサーのMagpieRSSをいろいろと試しています。
書かれているのがPHPなので、表示には、もちろん、PHPの関数が使えます。
たとえば、RSSの何項目もある<item>から7項目のみ表示させたいときは、
$rss->items = array_slice($rss->items, 0, 7)
array_sliceという関数が使えます。
問題は、日付の変換です。日付に関しては、いろいろな表現方法があるようで、変換もそのつど悩んでいます。(基礎がないので仕方がありませんが)。
あるサイトの日付の出力は、
<pubDate>Thu, 15 Mar 2007 15:00:00 +0900</pubDate>
となっていて、この場合は
$date=$item[pubdate];
$daytime=date(”■Y年m月d日”,strtotime($date));
$daytime = JcodeConvert($daytime, 0, 1);
などとするとうまく変換されました。
また、あるサイトのRSSは、
<dc:date>2006-12-27T09:58+09:00</dc:date>
となっていました。この書式の年号の変換の仕方とdc:dateという書き方をどういうふうに変換したらいいのかわからず、いろいろ試してもエラーばかりでしたが、MagpieRSSを紹介していたサイトのコメントの中に答えがありました。
dc:dateは[dc][date]いうことと、MagpieRSSのユーティリティが使えそうなことが分かりました。こんな感じでうまく変換できました。
include_once ‘rss_utils.inc’;
$date=$item['dc']['date'];
$date=parse_w3cdtf($date);
$daytime=date(’■Y年m月d日’,$date);
$daytime = JcodeConvert($daytime, 0, 2);
何かに書き留めておかないと忘れることもあるので、web作成メモとして残しておくことにします。