ライブラリを読み込む
ライブラリの使い方は簡単です。まずは、ライブラリファイルを読み込んで下さい。
PHP
require_once "./Feed.php" ;
続いて、インスタンスを作成します。好きな変数を決めて下さいね。サンプルでは$feed
という変数にしてあります。
各エントリーを処理する
取得した各エントリーは、$rss->item
(または$atom->item
)に、配列形式で複数含まれているので、foreach()
でループ処理します。
PHP
foreach( $rss->item as $item )
{
// 各エントリーの処理
}
フィードの構造は、ブログの種類によって違います。例えば、各エントリーが下記のようになっているフィードを処理するとしましょう。
XML
<item>
<title>【閉店】中華そば椿@西新井-分厚く柔らかな肉とボリューム満点のつけ麺!</title>
<link>tsubaki-adachiku-nishiarai</link>
<pubDate>Fri, 13 Sep 2013 17:30:00 +0900</pubDate>
<description><![CDATA[
閉店情報を追加しました。足立区西新井で一番の人気ラーメン店「中華そば椿」。アンデス高原豚の分厚くて柔らかいお肉と、ボリューム満点の麺が魅力。
]]></description>
<author>info@syncer.jp (Yuta Arai)</author>
<guid isPermaLink="true">tsubaki-adachiku-nishiarai</guid>
</item>
値を取り出すには、各要素名を指定して下さい。次の通りです。簡単ですね。
PHP
// タイトル
$title = $item->title ;
// リンク
$link = $item->link ;
// 更新日時のUNIX TIMESTAMP
$timestamp = strtotime( $item->pubDate ) ;
// 詳細
$description = $item->description ;
例えば、dc:date
のような、特殊な要素名を取得する場合は、下記のように、波括弧とシングルクオートを利用して下さいね。
PHP
// 日時
//<dc:date>2015-02-25T18:00:00+09:00</dc:date>
// 更新日時のUNIX TIMESTAMP
$timestamp = strtotime( $item->{'dc:date'} ) ;
サンプルコード
一連の処理をまとめると、次の通りになります。ブログ(フィードの構造)の種類によって、処理を使い分けて下さい。
PHP
<?php
// ライブラリの読み込み
require_once "./Feed.php" ;
$feed = new Feed ;
// フィードのURL
$url = "https://syncer.jp/feed" ;
// RSSの場合
$rss = $feed->loadRss( $url ) ;
foreach( $rss->item as $item )
{
// 各エントリーの処理
$title = $item->title ; // タイトル
$link = $item->link ; // リンク
$timestamp = strtotime( $item->pubDate ) ; // 更新日時のUNIX TIMESTAMP
$description = $item->description ; // 詳細
// 表示
echo '<a href="' . $link . '">' . $title . '</a> (' . date( "Y/m/d H:i" , $timestamp ) . ')<br>' ;
}