注意)下記の記事は、php4での話です。

よくトップページとかで、「NEWS!」の項目があって、その中に新着情報が載っているサイトがあるけど、まさにそれに挑戦してみました。

下記の、3つのサイトを参考にしました。
http://techblog.ecstudio.jp/tech-tips/xml_unserializer.htmlhttp://keithdevens.com/software/phpxml#sourcehttp://daipresents.com/weblog/fujihalab/archives/2008/10/php4-web-rss-read.php

まず、こちらのサイトから、ライブラリーをダウンロードしましょう。

っていうか、「source code」と書かれた部分をクリックすると、ブラウザ上にコードが表示されるので、それをコピペして、テキストエディタで、xml.phpというファイル名にして、保存。

その次は、こちらのサイトにあるようにincludeで読み込みます。以下参照。

php

<?php
include(‘xml.php’);
$RSS_HOST = ‘http://feeds.feedburner.com/Memo-memo‘;
$xml_data = file_get_contents($RSS_HOST);
$data = XML_unserialize($xml_data);
print”<ul>\n”;
foreach($data['rss']['channel']['item'] as $entry){
print “<li><a href=\”" . $entry['link'] . “\”>” . $entry['title'] . “</a></li>\n”;
}
print”</ul>\n”
?>

上記のように記述したファイルを、先ほどダウンロードしたxml.phpと一緒にサーバーにアップして、ブラウザで表示させると、このブログの各記事のタイトルが、リンク付きで表示されます。

応用するには、青字のところは、読み込みたいxmlファイル(feed)に変更。

赤字のところは、それぞれのxmlファイルの構造によって(feedによって)変えなきゃだめです。

今回、私の使用したfeedは、下記のような構造になっています。

<rss>

<channel>

<item>

~各々の記事の内容<title><link>等など~

</item>

<item>

~各々の記事の内容<title><link>等など~

</item>

</channel>

</rss>

ちょっとざっくりしすぎですが…

様は、

rssの中のchannelの中のitemの中の<title>の値を取得したい!!みたいな感じです。

foreachで、itemの個数分だけ繰り返してます。

うーん最後の方は、うだうだな記事だ…

次は、php5のSimpleXMLを使ってみたいなぁ