FeedのURLの確認
最初にRSSを配信しているFeedの確認をしてみます。
例えば「http://www.example.com/」にWordpressをインストールしたならURLは下記になります。
SimpleXMLを使用した場合
記事のタイトル、リンク、抜粋などの基本的な情報なら、標準機能の「SimpleXML」を使用するだけなので簡単です。
適当なphpファイルに以下のように記述してください。
$feed = simplexml_load_file('http://www.example.com/feed','SimpleXMLElement',LIBXML_NOCDATA);<?php foreach($feed->channel->item as $item): ?><div> <h3><a href="<?php echo $item->link; ?>"> <?php echo $item->title; ?></a></h3> <p class="date"> <?php echo date('Y年m月d日',strtotime($item->pubDate)); ?> </p> <p><?php echo $item->description; ?></p></div><?php endforeach; ?>simplexml_load_fileは通常ファイル名を指定するだけですが抜粋(description)のように「CDATA」で囲まれている場合は、引数に「‘SimpleXMLElement’,LIBXML_NOCDATA」といれます。
SimplePieを使用した場合
コンテンツは「content:encoded」となっているのでSimpleXMLでは解析できないようです。(出来る方法があるかもしれませんが、、)
そこで「SimplePie」というライブラリを使用してコンテンツの内容も表示してみます。
下記ページからライブラリをダウンロードします。
解凍したフォルダの中に色々とファイルが入っていますが、使用するのは「simplepie.inc」だけです。
このファイルを先ほどのphpファイルと同階層に配置しましょう。
キャッシュも保存することができるので「cache」というフォルダも作成しておきます。
<?php//SimplePieの設定include('simplepie.inc');$feed = new SimplePie;$feed->set_cache_location('cache'); // キャッシュディレクトリの指定$feed->set_feed_url('http://www.example.com/feed'); // RSSのURL$feed->init();$feedItems=$feed->get_items(0,5); // 5件取得//取得した内容を表示foreach($feedItems as $item):$date = $item->get_date('Y年m月d日'); // 各記事の日付$title = $item->get_title(); // 各記事のタイトル$link = $item->get_link(); // 各記事のURL$content = $item->get_content(); //抜粋?><div> <h3><a href="<?php echo $link ?>"><?php echo $title ?></a></h3> <p class="date"><?php echo $date; ?></p> <div><?php echo $content; ?></div></div><?php endforeach; ?>

