自前のRSSリーダーを作るため、 RSSをパースして、自分のサイトにRSS内の情報を表示するためのPHPライブラリ「MagpieRSS」の事を色々調べてみたので、その設定方法&サーバ設置方法を以下にまとめてみた。
①magpierssから、magpierss-0.72.tar.gzをダウンロードして解凍。
(解凍できない場合はLhaplusをインストール)
②extlibフォルダとrss_cache.inc、rss_fetch.inc、rss_parse.inc、rss_utils.inc以外はすべて削除。
③rss_fetch.inc内342行目の「define('MAGPIE_CACHE_AGE', 60*60)」を「define('MAGPIE_CACHE_AGE', 10)」に置換(無駄にキャッシュが働いてデータ取得できない状態を回避するため、1時間のキャッシュ保持期間を10秒に変更)。
④rss_fetch.inc内358行目の「ISO-8859-1」を「UTF-8」に置換(文字化けを防ぐため)。
⑤extlibフォルダとrss_cache.inc、rss_fetch.inc、rss_parse.inc、rss_utils.incを任意の場所にアップロード
⑥以下コードをコピペした適当な名前のファイル(index.php等)をアップロード。
ただし、2行目3行目のファイル名はアップしたURLを指定。
4行目は読み取りたいRSSアドレスにする。
<?php include_once 'rss_fetch.inc'; include_once 'rss_utils.inc'; $url = 'http://ここにRSSアドレスを入力'; $rss = fetch_rss($url); //RSSの内容を取得 $title = $rss->channel['title']; //タイトル取得 $description = $rss->channel['description']; //本文取得 //以下、ページ出力部分 //RSSタイトルとその説明文を出力 echo "<h1>".$title."</h1>\n"; echo "<p>".$description."</p>\n"; //記事部分の出力 echo "<ul>\n"; foreach($rss->items as $item ){ //日付取得&RSSの種類による取得エラー補正 $date = $item['date_timestamp']; if($date == ""){ $date = strtotime($item['dc']['date']); } //各種代入 $title = $item['title']; //タイトル代入 $description = $item['description']; //本文代入 $url = $item['link']; //URL代入 //記事出力 echo "<li>".date('Y年m月d日 G:i',$date).'<br /><a href="' .$url.'">'.$title.'</a><br />'.$description."</li>\n"; } echo "</ul>\n"; ?>
上記を忠実に行なってアップロードすると以下のページのようになる。
(フィード先はこのサイト「https://singoro.net/note/feed/」)
css等でデザインを整えてやればバッチリかと♪
▼参考
コメント
参考になりました。
ありがとう御座います。
ちなみに18,23,25行目の[]内にクオートがないとエラーが出ました。
入れたら正常に動いたので参考になれば幸いです。
コメントありがとうございます♪
また、修正点のご指摘もありがとうございます。
完全に抜け落ちてました(^^ゞ
18,23,25行目と、ついでに20行目もクオート足しておきました♪