2018年08月01日
Docker for Mac を使って WordPress の...
2018年07月29日
Docker for Mac のインストール
2018年07月08日
Docker 便利コマンドあれこれ
2018年07月08日
オライリーの Docker 本(Docker Up &...
2018年07月05日
iPad mini 2 を購入しました
2018年07月04日
Docker で Jenkins するときのあれこれ

HOME > カテゴリ(PHP)の記事

PHP5 で RSS を読み込んで表示してみた



さまざまな WEB サイトや ブログ記事が RSS で配信されていますが、PHP を使って RSS を取得し、ブログに表示してみました。

PHP 5 では、file_get_contents() 関数と、simplexml_load_string() 関数、と SimpleXMLElement オブジェクト の 3つを使うだけで、

  1. RSS を取得(file_get_contents() 関数)して
  2. 取得した RSS(XML)をパース(simplexml_load_string() 関数)して
  3. パースした XML のデータを表示(SimpleXMLElement オブジェクト)する

ということが簡単に出来るようなので、ちょっと試してみました。

RSS を取得する

まずは、RSS 自体を取得します。file_get_contents() の引数に取得したい RSS の URL を指定すれば、RSS フィードのデータ(XML)が取得できます。

$url = “http://rss.dailynews.yahoo.co.jp/fc/rss.xml”;
$rss = file_get_contents($url);

参考URL:PHP: file_get_contents – Manual

これで、$rss に RSS が取得できました。

取得した RSS(XML)をパースする

っで、取得した XML($rss)をパースする訳ですが、simplexml_load_string() に XML を渡すだけです。

こんな感じ。

$xml = simplexml_load_string($rss);

参考URL:PHP: simplexml_load_string – Manual

そうすると、$xml に SimpleXMLElement オブジェクトが返されますので、あとは SimpleXMLElement のオブジェクトから必要な情報を取得して表示するだけです。

SimpleXMLElement オブジェクトから要素の取り出し方

例えば、取得した XML 文書が以下の場合、

<?xml version=’1.0′?>
<rss>
  <item>
    <title>タイトル1</title>
    <image width=”100″ height=”260″>イメージ1</image>
    <description>説明1</description>
    <is:date>日付1</is:date>
  </item>
  <item>
    <title>タイトル2</title>
    <image width=”100″ height=”260″>イメージ2</image>
    <description>説明2</description>
    <is:date>日付2</is:date>
  </item>
</rss>

通常に子要素を取り出す場合は、

$items = $xml->item;
foreach($items as $item) {
  $title = $item->title;
  $image = $item->image;
  $desc = $item->description
}

属性を取り出す場合、

$items = $xml->item;
foreach($items as $item) {
  $width = $item->image[‘width’];
  $height = $item->image[‘height’];
}

名前空間がついている要素を取り出す場合、

$items = $xml->item;
foreach($items as $item) {
  $date = $item->children(“is”, true)->date;
}

この 3パターンでほとんどのタイプの RSS データを取得できると思います。

参考URL:PHP: SimpleXMLElement – Manual

とりあえず、iOS, Mac OS X アプリ検索 & ブログ用タグ生成ツール に アプリランキングを表示してみました。(検索結果のサイドバーに出てきます。)

ちなみに iOS アプリとかのランキング RSS は、Apple – iTunes – RSS Generator で取得できます。

でわでわ。





この記事にコメントする





Copyright © 2012 - 2013 MacBook Air とWordPressでこうなった All rights reserved
Designed by Theme Junkie. Powered by WordPress.