読込んだRSSをサイトに出力(PHP)

PHPによるRSSフィードの読込と出力方法

情報発信サイトの動向を自動で取得したい!そんな時に使うのがRSS、今回は(も?)気象庁の情報をいち早く取得してみます。

RSSのURL取得と構造について

RSSの出力(feed)URLを取得します。

images
出典:気象庁ホームページ (http://www.jma.go.jp/jp/week/)

対象をテキストエディタで開いてみましょう。
構造はXML形式で1つの記事について「title」、「link」、「language」、「lastBuildDate」、「generator」、「docs」というタグを出力しています。

image02

※画像が小さくて見えないのでニュースを1つだけ複写。


  霧島山(えびの高原(硫黄山)周辺)の火口周辺警報(噴火警戒レベル2、火口周辺規制)を解除
  <link>http://www.jma.go.jp/jma/press/1701/13b/ebinokogen170113.html?90</link>
  http://www.jma.go.jp/jma/press/1701/13b/ebinokogen170113.html?90
  Fri, 13 Jan 2017 14:00:00 +0900
  2017-01-13T14:00:00+09:00
  2017-01-13T14:00:00+09:00
  < ![CDATA[「霧島山(えびの高原(硫黄山)周辺)の火口周辺警報(噴火警戒レベル2、火口周辺規制)を解除」を掲載しました。]]>

今回はこのFEEDをPHPで読み込み、ページに出力してみます。

PHPで読み込む

上記にある通りXMLファイルには幾つもタグで管理されている情報があります、これらをタグごとに分解(パース)して用意したオブジェクトに代入していきます。

取得対象を下記とします

  • title・・・タイトル
  • link・・・リンク
  • pubDate・・・日付
  • description・・・記事詳細

PHP
PHPの関数「simplexml_load_file」を使いXML(取得したRSS)を料理します。

< ?php
$rssfeed = simplexml_load_file('http://www.jma-net.go.jp/rss/jma.rss');
echo '
    '; foreach($rssfeed->channel->item as $items){ $title = $items->title; $date = date("Y/n/j ", strtotime($item->pubDate)); $link = $items->link; $description = mb_strimwidth (strip_tags($items->description), 0 , 20, " …続きはこちら", "utf-8"); ?>
  • < ?php echo $date; ?> < ?php echo $title; ?> < ?php echo $description; ?>
  • < ?php } echo '
'; ?>

出力結果

スポンサーリンク
スポンサーリンク
スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
スポンサーリンク