かなり前に、RSSを取得して記事を掲示させたいということで記事を書いたけど、その後、また他の仕事でも同じようなことをしたので、メモしておきます。

利用したのは、MagpieRSS。解説は、MagpieRSS – PHP で使える RSS パーサー。を見ました。
貴重な情報をありがとうございます。

また、PHPのRSSパーサー MagpieRSS(@muneto.murakami.biz)を参考に読ませていただきました。ありがとうございます。

トップページに、5件だけ表示する。

<?php
require_once ‘rssread/rss_fetch.inc’;ツꀀ
$url =’RSSのURL’;
$rss = fetch_rss($url);
$cn=5;//何件表示させるか

?>

<ul>

<?php

$bloc_cn = 0;
ツꀀforeach ($rss->items as $item ) {
ツꀀツꀀif($bloc_cn >= $cn){ break;}
ツꀀツꀀ$title = $item[‘title’];
ツꀀツꀀ$title = mb_convert_encoding($title, “EUC_JP”, “auto”);
ツꀀツꀀ$urlツꀀツꀀ = $item[‘link’];
ツꀀツꀀ$btime = strtotime($item[‘pubdate’]);
ツꀀツꀀ$bdateツꀀ = date(“Y/m/d”, $btime);
ツꀀツꀀecho “<li><a href=\”$url\”>”.$bdate.” $title</a></li>\n”;
ツꀀツꀀ$bloc_cn++;
ツꀀツꀀ}

?>

</ul>

このとき、$itemで取得できるのはこんなデータでした。

array(10) {
ツꀀツꀀ [“title”]=> string(21) “ツꀀ ”
ツꀀツꀀ [“link”]=> string(39) “http://……”
ツꀀツꀀ [“comments”]=> string(48) “http://……”
ツꀀツꀀ [“pubdate”]=> string(31) “Thu, 05 Feb 2009 12:51:33 +0900”
ツꀀツꀀ [“dc”]=> array(1) {
ツꀀツꀀツꀀツꀀツꀀ [“creator”]=> string(21) “ツꀀ ”
ツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀ }
ツꀀツꀀ [“category”]=> string(24) “ツꀀ ”
ツꀀツꀀ [“guid”]=> string(39) “http://……
ツꀀツꀀ [“description”]=> string(297) “ツꀀツꀀ “ツꀀ
ツꀀツꀀツꀀ[“wfw”]=> array(1) {
ツꀀツꀀツꀀツꀀツꀀ [“commentrss”]=> string(49) “”
ツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀツꀀ }
ツꀀツꀀツꀀ [“summary”]=> string(297) “ツꀀツꀀ ”
}

ちょっとね、日付のデータをどうやってとろうかなと思って。
このスクリプトの場合、タイムゾーンは解決できてるの・・・・・・かな?
ツꀀ+0900って、「足したよー」ってことなのかな・・・・・・。

ツꀀあと、キャッシュが残りすぎて、前のデータがずっと残ってたりしました。1時間のはずなのに。何故?
ということで、またちょっとあとでテストしてみたいと思います。