サイトに RSS を埋め込む方法

MagpieRSS」と PHP を組み合わせて RSS(RSS0.9 / RSS1.0)を取得、解析、出力させます。
出力結果を HTML ページに埋め込むには Server Side Include(SSI)を使いますが、SSI が使えない場合は iframe でも可能です。

設置例は「nJOY」のトップページを見てください。

必要なもの


設置方法

1) 以下の PHP スクリプトをコピーして、適度に修正。拡張子を「.php」にして保存。

【例:rss.php】
<?php
require_once 'rss_fetch.inc';
require_once 'code_table.ucs2jis';
require_once 'jcode.php';
$url = 'http://i-njoy.net/blog/?mode=rss';
$rss = fetch_rss($url);
$title = $rss->channel['title'];
//JcodeConvert($str, $from, $to) 
//0:PASS(無変換)1:EUC-JP 2:Shift_JIS 3:ISO-2022-JP(JIS) 4:UTF-8
$title = JcodeConvert($title, 4, 2);
foreach ($rss->items as $item ) {
$title = $item[title];
$title = JcodeConvert($title, 4, 2);
$url = $item[link];
echo "<li><a href=\"$url\">$title</a></li>\n";
}
?>
修正が必要なのは青字の部分
RSS のアドレス
取得したいアドレスを入力
文字コード変換
“RSSの文字コード, 出力後の文字コード”の順に番号で表記
0=無変換、1=EUC-JP、2=Shift_JIS 、3=ISO-2022-JP(JIS)、4=UTF-8

2) MagpieRSS を解凍(「Lhaplas」を使用。tar.gz を解凍できる物なら何でも可。)

3) jcode_1.35a.zip を解凍

4) 解凍したファイルの中から以下のファイルと先ほどのスクリプト(rss.php)をサーバーにアップロード。

【ディレクトリ構成例】
public_html / index.html (トップページ)
  │
  └ magpie / rss.php
     │  jcode.php
     │  code_table.ucs2jis
     │  rss_cache.inc
     │  rss_fetch.inc
     │  rss_parse.inc
     │  rss_utils.inc
     │
     ├ extlib / Snoopy.class.inc
     │
     └ cache (このディレクトリは自分で作る) 

5) rss.php に直接アクセスして動作確認してみましょう。
上記のスクリプトが上手く動作していればリスト化された最新記事が表示されるはず。

6) RSS を埋め込みたいページに SSI で以下の記述を追加

<ul><!--#include file="rss.phpのアドレス" --></ul>

改造例

リンクを新しいページで開く

<a href=\"$url\" target=\"_blank\">$title</a>
iframe 用
<html>
<head>
</head>
<body>
<ul>

<?php
require_once 'rss_fetch.inc';
(中略)
echo "<li><a href=\"$url\">$title</a></li>\n";
}
?>

</ul>
</body>
</html>

改造スクリプト

上述のサンプルスクリプトを改造したスクリプトを配布しています。

タイプ1

○月□日
記事タイトル1
記事タイトル2
記事タイトル3
○月△日
記事タイトル4
記事タイトル5

参考サイト

類似スクリプト等


サイト作成のヒント集に戻る