はてなブックマークを当サイトに取り込むのにRSSが使える、ということでNucleusにRSSを取得してくれるプラグイン、NP_Newsfeedを使ってみました。
設定画面を変更せず使うのなら、まずはメディアファイルのディレクトリにrsscacheという名前でフォルダを作ります。あとは通常のプラグイン同様にインストールして、スキンに下記のように記述すればOK*1。
<%Newsfeed(RSSのURL,1,10)%>
しかし当サイトは文字コードがEUCなので、UTF-8のRSSを読み込もうとすると文字化けが発生しました。Nucleusフォーラムに回避方法がありました。
foreach ( $feed as $feeditem ) {
のすぐ下に、
$feeditem[ "title" ] = @mb_convert_encoding($feeditem[ "title" ], "EUC-JP", "UTF-8"); $feeditem[ "description" ] = @mb_convert_encoding($feeditem[ "description" ], "EUC-JP", "UTF-8"); $feeditem[ "description" ] = substr($feeditem[ "description" ] , 1, strlen( $feeditem[ "description" ]) -2);
を追加。
※最後の一行は、なぜか前後に一文字ずつスペースが入ってたのでそれを除去してます。他の項目でも同様にスペース除去を行いました。
echo "<div class='title'>". stripslashes($feeditem[ "sitetitle" ]) ."</div>";
のすぐ上に、
$feeditem[ "sitetitle" ] = @mb_convert_encoding($feeditem[ "sitetitle" ], "EUC-JP", "UTF-8");
を追加。
if ($what == 3 || $what == 4) {
のすぐ下に、
$feeditem[ "description" ] = @mb_convert_encoding($feeditem[ "description" ], "EUC-JP", "auto");
を追加。
これで動くようになりました。
- 注1 : なお feed の f が小文字になっていないとエラーになるので注意しましょう。
コメント