Recent posts:
PC雑記帳

PCやWebに関する便利な情報や使いこなし情報を紹介

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:記事中の誤字を訂正しました