Feed2JSの出力文字コードを簡単に切り替える

[Sponsored Link]

取得したRSSなどのFeedを、JavaScriptで簡単にWeb上に表示させることができるスクリプトFeed2JSを設置してみました。
自分のブログがふたつ以上ある場合に最新のfeedを表示しあうなど、使い道は色々ありそうです。

設置にあたっては、小粋空間様のエントリー、
RSS Feed(フィード)を表示するを参考にさせていただきました。

さて、小粋空間様では出力する文字コードが固定でしたが、
引数を渡すだけでUTF-8、Shift_JIS、EUC-JPの文字コードを切り替えられるように改造をしてみました。

まず、feed2js.phpの136行目あたりにある

$rss = @fetch_rss( $src );

を探します。

その下に、

$enc = $_GET['enc'];
if($enc == "euc"){
mb_convert_variables("EUC-JP","UTF-8",$rss);
} elseif($enc == "sjis"){
mb_convert_variables("SJIS","UTF-8",$rss);
}

を追加します。

これで、$encにeucを渡すとEUC-JPに、
$sjisを渡せばShift_JISにコンバートされます。
(それ以外はUTF8のまま)

渡し方はこんな感じです。
生成されたコードに&enc=xxxと引数を加えるだけ。これで当方では文字化け無しでOKでした。

<script src="http://www.hogehoge.net/feed2js.php?src=http%3A%2F%2Fwww.hogehoge.net%2Findex.xml&num=5&tz=+9&targ=y&utf=y&enc=euc" type="text/javascript"></script>
文字コードのコンバート処理を分岐させただけですが、
これでずいぶんと使い勝手がよくなりました。

設置したFeed2JSは、記事タイトルと表示数だけの簡単なフォームを使い、after1.net Labでこっそりと公開していますので、お試しに使ってみてください(引っ込めましたw)
(だいぶ省略したフォームですが、フルで引数を渡すことももちろん可能です)

本家でFeed2JSを使ってみたい方はこちら→Feed2JS Build

cssは下記のような設定になっています(小粋空間様より)

<div class="rss-box">
<p class="rss-title"><a class="rss-title">タイトル</a><br><span class="rss-item">説明</span></p>
<ul class="rss-items">
<li class="rss-item"><a class="rss-item">記事名1</a></li>
<li class="rss-item"><a class="rss-item">記事名2</a></li>

<li class="rss-item"><a class="rss-item">記事名n</a></li>
</ul>
</div>

※css=xxxのような独自クラスを渡すと、rss-box-xxxになり、
同一ページ内で複数表示する場合に、異なるスタイルをあてることができます。

お試し表示:gooの検索急上昇ランキング


>> 人気ブログRankingをチェック


この一覧は、次のエントリーを参照しています: Feed2JSの出力文字コードを簡単に切り替える:

» RSSをサイトに表示してみる 送信元 検索エンジン@サイト登録.com管理人ブログ
「Feed2JS」の利用と導入について [詳しくはこちら]

» サイト埋め込み型RSSリーダー(Feed2JS) 送信元 ブログ日和
いくつかある「サイト埋め込み型RSSリーダー」の中でもこれはオススメです。 So What is "Feed to JavaScript"? ht... [詳しくはこちら]