phpでRSS(xml)を解析、読み込んで表示させる方法

ホームページは自社で作って、ブログはamebloでみたいなホームページが最近増えてきました。
amebloのブログの更新情報をホームページにも表示させたいけど…そんなときに役立つ方法

1、ツールをダウンロード

ダウンロード先:magpierss
赤枠をクリックしていってダウンロードしてください。



2、フォルダを準備



解凍すると上の画像のようにデータが入っていますが、実際使うのは

extlibのフォルダのデータ、rss_cache.inc、rss_fetch.inc、rss_parse.inc、rss_utils.incになります。
このデータだけを別フォルダに写します。
ここではわかりやすい様に、rssというフォルダに移したと仮定して進めていきます。

3、表示させるプログラム

このホームページが吐き出しているRSS情報を読み込んで表示させるとします。
rssのフォルダが同じ階層にあるということにしています。

<?php 
require_once('rss/rss_fetch.inc'); 
define('MAGPIE_OUTPUT_ENCODING', 'UTF-8'); 
$url = 'http://www.geekzshu.com/feed'; 
$rss = fetch_rss($url); 
$title = $rss->channel['title']; 
echo "<h1>$title</h1>"; 
echo "<ul>"; 
$i = 0;
$kiji = 5;
foreach ($rss->items as $item ) { 
if($i >= $kiji){break;}
else{
$title = $item['title']; 
$link = $item['link']; 
echo "<li><a href='$link'>$title</a></li>"; 
$i++;
}
}
echo "</ul>"; 
?>

実際のプレビュー

※$urlのところにRSSのURLを記入します。
※require_onceで読み込むとき、フルパスでないと読み込めないときもあります。
ロリポップだと/home/users/1/lolipop.jp-****************/webが前に必要だったりします。

吐き出されるhtml

<h1>ブログのタイトル</h1>
<ul>
<li><a href="ブログ記事へのリンク">ブログ記事のタイトル</a></li>
<!--同じように$kijiに書いている数字文繰り返されます。-->
</ul>

$kijiで表示件数を制限しています。
$item[‘description’]; を使えば、さらにブログの内容まで表示することができます。
後は、デザインして、トップページなどに貼り付ければ完成です!

.htaccess

.html上でphpを動かそうとしたら、サーバー側での設定が必要になります。
共有サーバー上で.htmlでもphpのプログラムを動かせるようにするには.htaccessで設定が必要になります。

○ロリポップ

AddHandler php5.2-script html

○サクラサーバー

AddType text/x-server-parsed-html .html

をメモ帳で書いて、全てのプログラムで保存して、phpを動かすフォルダー上にアップします。


コメントする