PR(記事内にアフィリエイト広告が含まれています)
スポンサーリンク
Nucleus

NP_Newsfeed

はてなブックマークを当サイトに取り込むのに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 が小文字になっていないとエラーになるので注意しましょう。

コメント

タイトルとURLをコピーしました