PHPでRSS 2.0からタイトルとURIを取得してリスト表示する
2020/11/29 更新
サイトの更新をした際に、RSSから記事の一覧を取得したい部分があったので、PHPであるRSS 2.0を取得し、その中からページのタイトルとURIを取り出してリスト表示(ul)するサンプルをメモしておく。
PHPでRSS 2.0からタイトルとURIを取得する
RSSの取得
RSSはXML形式のデータなので、PHPで取得する場合は“simplexml_load_file”を使います。関数の引数に取得したいRSSのURIを指定します。
参考:PHP: simplexml_load_file – Manual
RSSにおけるタイトルとURI
先ほどの関数で取得したRSSはオブジェクトに代入されています。RSS 2.0では、“channel->item->title”にページのタイトルが、“channel->item->link”にページのURIが格納されています。
したがって、channel->itemについてforeachでループを回せばRSS中に含まれるページについてそれぞれ取得できます。
サンプル
以下に、ここまでの内容を踏まえたソースコードのサンプルを示します。
<?php
$rss = simplexml_load_file( 'http://www.example.com/rss/' );
$list = '<ul>';
foreach ( $rss->channel->item as $item ) {
$list .= '<li><a href="';
$list .= $item->link;
$list .= '">';
$list .= $item->title;
$list .= '</a></li>';
}
$list .= '</ul>';
echo $list;
?>
このコードを実行すると、ul(li)によるタイトルがリンクとなるリストが出力されます。(HTMLとして表示する場合、文書の構造上headやbodyなどのHTMLタグが必要です)
2013/07/19:記事中の誤字を訂正しました