2005Apr11
サイトにRSSを埋め込んで表示させる方法
まず一番最初に試したのは「大黒屋本舗」さんが公開されている「jsRSS++」。
RSSの取得等にCGIを、表示にはJavaScriptを使うというもの。
で、結果は文字コード処理が上手く出来ていないようで文字化け。使用するのはあえなく断念。
その次に試したのが「レッツPHP!」さんが公開しているPHPで処理する「RSSブロガー」。
結論から言うと、サーバーがセーフモードで動いている為、うちでは動作しないという事が判明したので、使用を断念。
そして最後に行き着いたのが「MagpieRSS」、諦めかけていたけれど上手くサイトのトップページに表示された時は、本当に嬉しかったぁ。最初の2つが上手くいかなかったからなおさら。
設置に際しこちらの日本語解説ページが役に立ちました。
サーバーで PHP が使えないといけなかったり、処理できる RSS が RSS0.9 と RSS1.0 のみとか少し制限もありますが、それらを差し引いてもかなり使えます。
出力は短なるテキストなので、スクリプトをいじればカスタマイズも簡単ですしね。
■どんな風に動作しているかは nJOY のトップページを参照(ページ右側の「ブログ最新記事」欄)。
必要なもの
- magpierss-0.61.tar.gz(文字化けするので最新版はNG)
- 上記解説サイトから PHP のスクリプト
- jcode_1.35a.zip
設置方法
1) 解説サイトからPHPスクリプトをコピーして、適度に修正。拡張子を「.php」にして保存。【例:rss.php】
<?php修正が必要なのは青字になっている部分(「RSSのURL」と「文字コード変換」)。
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>';
}
?>
文字コードについてはうちの場合、読み込む RSS が UTF-8 でそれを Shift-JIS に変換したいので「4, 2」。
どの文字コードがどの数字かはコメント行の赤字部分を参照。
2) MagpieRSS を解凍(「Lhaplas」を使用。tar.gz を解凍できる物なら何でも可。)
3) jcode_1.35a.zip を解凍
4) 解凍したファイルの中から以下のファイルと先ほどのスクリプト(rss.php)をサーバーにアップロード。
【ディレクトリ構成例】
public_html / index.html (トップページ)「cache」ディレクトリのパーミッションを 707 または 777 に変更する。
│
└ 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>
(全角の"<"と">"は本来は半角文字。)
※ SSI が使えない(例えばブログ内に設置したい)場合は Iframe を使えば OK。
(その場合は PHP スクリプトを少し書き変える必要あり。)
もしくはブログが PHP で動いてるのなら、直接記述または include するという手も。
関連記事:
2005/04/18「RSS を出力する掲示板やスクリプト等へのリンク集」2005/04/21「MagpieRSS を応用すると色々出来る」
※この記事は修正&加筆して「ぶろぐん・サイト作成ヒント集」にも追加しておきました。
| 06:02 PM | comments (7) | trackback (7) |
| サイト作成&運営::覚え書き |










