Archive for 3 月 15, 2007

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作成メモとして残しておくことにします。