あるブログの新着記事を、他のサイトで表示する必要があり、PHPのSimpleXML関数を使い対応しました。今回はその方法を紹介します。
使用する関数一覧
- simplexml_load_file
- XMLファイルをパースし、オブジェクトに代入する
PHP: simplexml_load_file – Manual
読み込むRSS
http://daisukebe.net/feed/
今回はこのブログのRSSを読み込みます。WordPressの設定でRSSのバージョンは2.0、最新の投稿10件表示にしてあります。
RSSから情報を取得し、表示する
まずは、simplexml_load_file関数で、どのような値が返ってくるかを確認してみます。
コード
<?php $rss = simplexml_load_file('http://daisukebe.net/feed/'); print_r($rss); ?>
出力結果
RSSの情報が、SimpleXMLElement Objectに代入されています。これで例えば、ブログのタイトルへは$rss->channel->title
でアクセスすることが可能になります。
では次に、本来の目的である「RSSから取得した情報より、タイトルとURLを取得し、リスト表示する」ための作業に移ります。
コード
<?php $rss = simplexml_load_file('http://daisukebe.net/feed/'); echo '<ul>'; foreach($rss->channel->item as $item){ echo '<li><a href="' . $item->link . '">' . $item->title . '</a></li>'; } echo '</ul>'; ?>
出力結果
このブログの最新記事10件が、表示されているはずです。
解説
まず、simplexml_load_file関数でRSSを解析し、オブジェクトに代入します。
次にforeachで繰り返し処理。$rss->channel->item
から値を取り出し、$item
へと代入し、$item->link
でURL、$item->title
でタイトルを出力します。
作業はこれで完了です。