1. HOME
  2. 開発・ブログ運営
  3. PHP
  4. PHP5 で RSS を読み込んで表示してみた
2014年08月03日
NetBeans でファイル形式の関連付け設定をしてみる ...
2012年04月23日
iTunes Store へのリンクを LinkShare を ...
2012年05月06日
iOS, Mac OS X アプリ検索 & ブログ用 ...
2012年05月13日
iTunes ミュージック検索 & ブログ用タグ生成 ...
2012年10月16日
10分で出来た!OAuth と PHP でつくる Twitte ...
2015年06月03日
PHP で「2015-06-02T05:53:07-07:00 ...

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 - 2014 MacBook Air とWordPressでこうなった All rights reserved
Powered by WordPress.