RSS & Atom Feeds for PHPを用いた簡易RSS表示
備忘録と記録を兼ねて、RSS & Atom Feeds for PHPを用いた簡易RSS表示の方法を記します。
1.rssControllerの作成
<?php // ライブラリの読み込み require_once("lib/Feed.php"); // HTML表示用 $html = ''; // 最大表示件数 $maxview = 5; // 取得するフィードURL $urls = array( "http://www.100shiki.com/feed", "http://postd.cc/feed/", "http://techable.jp/feed", "http://jp.techcrunch.com/feed/", "http://appmarketinglabo.net/feed/" ); // rssをまとめた配列 $entrylist = array(); // rssごとに一つずつ抽出 for ($i=0; $i < count($urls) ; $i++) { $url = $urls[$i]; // インスタンス生成 $feed = new feed(); // loadRssメソッドを用いてrssの読み込み $rss = Feed::loadRss($url); for ($entry = 0; $entry < 1; $entry++) { $sitename = $rss->title ; $sitelink = $rss->link ; $item = $rss->item[$entry]; // 各エントリーの処理 $title = $item->title ; $link = $item->link ; // 記事の発行日時をタイムスタンプに変換 $timestamp = strtotime( $item->pubDate ) ; // 配列に格納 $entrylist[$i]['sitename'] = $sitename; $entrylist[$i]['sitelink'] = $sitelink; $entrylist[$i]['title'] = $title; $entrylist[$i]['link'] = $link; $entrylist[$i]['timestamp'] = $timestamp; } } // 日付でソートするための配列 foreach ((array)$entrylist as $key => $value) { $sort[$key] = $value['timestamp']; } // 日付順に配列をソート array_multisort($sort, SORT_DESC, $entrylist); // 書き出す件数を設定 if ( count($entrylist) > $maxview ) { $entrynum = $maxview; } else { $entrynum = count($entrylist); } // 書き出し(リンクは新規ウインドウで開く) for ($i = 0; $i < $entrynum; $i++) { $html .= '<tr><td><a href="' . $entrylist[$i]['sitelink'] . '" target="_blank">' . $entrylist[$i]['sitename'] . '</a></td><td>' . date( "Y/m/d" , $entrylist[$i]['timestamp'] ) . '</td><td><a href="' . $entrylist[$i]['link'] . '" target="_blank">' . $entrylist[$i]['title'] . '</a></td></tr>' .'<br>'; } ?>
読み込んだライブラリの配布先はコチラです。
Zip形式でダウンロードして中にあるFeed.phpを適当な場所に配置して
require_once('読み込んだファイルのパス')
でOK。
$htmlでサイトリンク、サイト名、記事の日時、記事リンクの順で書き出されるようにしています。
初めに空にしておくのを忘れずに。
// 日付順に配列をソート array_multisort($sort, SORT_DESC, $entrylist);
こちらで使っているようにarray_multisort関数を使うことでソートして表示することが出来ます。
コレ、有能です!!!
2.rss表示部分の作成
<?php require_once("../Controller/rssController.php"); ?> <?php echo "<table border=1>"; echo "<tr>"; echo "<th>サイト名</th>"; echo "<th>日付</th>"; echo "<th>記事タイトル</th>"; echo "</tr>"; echo $html; echo "</table>" ; ?>
こちらでは先程作ったrssControllerを
require_once("../Controller/rssController.php");
として読み込んでいます。
後は適当にテーブルタグを使って大体の体裁を整えて完成です!
飾り気のないシンプルなものですが・・・
仮面ライダーエグゼイド 第18話感想
https://twitter.com/Woooooootan/status/830728424343810049
就活を控える身としてはつらいです。
https://twitter.com/Woooooootan/status/830728785141985280
https://twitter.com/Woooooootan/status/830729571414597632
相変わらず、ゲンムの社長はカッコいいですね。
個人的に、ガシャットの中で一番好きなのがデンジャラスゾンビなので、変身シーンを見る度ワクワクしてます。
https://twitter.com/Woooooootan/status/830730780477251584
つくるさんのゲームコンペの際ちらっと写ったこの赤いぬいぐるみ。
ゲキトツロボッツっぽいですね。普通に欲しいです。
https://twitter.com/Woooooootan/status/830731796916563968
反抗的な態度を見せるパラドに対し、社長が激昂。
この笑顔、このセリフ、どこぞの夜神さんを彷彿とさせますね。服も黒だし。
https://twitter.com/Woooooootan/status/830732578378305537
タドルクエストの強化ガシャットがお披露目。
タドルクエスト(ドラゴンクエスト)→タドルファンタジー(ファイナルファンタジー)
正統なRPG路線ですね。
バンバンシューティングはどうなるのでしょう?
シューティングだとスプラトゥーン?
パラドがパズドラモチーフのガシャットを持っているのでワンチャンあるかも…
https://twitter.com/Woooooootan/status/830734675219927040
今週も変則OP回でしたね。
それだけ濃密に描いているということなのでしょうか。
エグゼイドはよくシナリオが練られてて素晴らしいです。
前ライダーは…
https://twitter.com/Woooooootan/status/830735308463312896
次回予告の一幕。
城之内パターンでないことを祈ります。
かといってタケルくんみたいにホイホイ生死を繰り返されても困るので…
シナリオに期待大です。
宇宙戦隊キュウレンジャー 第1話感想
https://twitter.com/Woooooootan/status/830720601895616512
いよいよ始まった新戦隊!
https://twitter.com/Woooooootan/status/830721112954646531
声優さんも第一線で活躍されている方ばかりです!
これは新規ファンも増える予感!
https://twitter.com/Woooooootan/status/830721318794387457
レビューとか見てないから詳しくは分からないけれど、きれいなデザインですね。
https://twitter.com/Woooooootan/status/830726412705214465
ロボのデザインは見慣れないせいかダサい。
https://twitter.com/Woooooootan/status/830727069969428480
EDはだんだんテンポが上がっていく感じで今までにない曲でした。
まだまだこれからですが、楽しみに見ようと思います。