先日作った、RSS更新情報と、はてなアンテナのPHPですが、
PHPのままだと、どこでも呼び出せるというわけではないので、
JavaScriptで埋め込むようにしてみました。
参考になったのは、以下のサイト様です。
http://www.res-system.com/weblog/item/383
ほぼそのままで実現できましたが、生成された文字列に改行が
含まれないように気をつける必要があります。
また、閉じる文字の関係で、シングルクォーテーションも避けたほうが
安心です。
ということで、以下のコードでこれらを後処理で取り除きました。
$str = str_replace(array(“\r\n”,”\n”,”\r”,”\t”), “”, $str);
$str = str_replace(array(“‘”), ”, $str);
あと、document.writeの最後には、セミコロンを指定したほうが
良いかと思います。
これでJavaScriptを貼り付けるだけで、どこでも更新情報を
埋め込めちゃいます。
<script type=”text/javascript” charset=”utf-8″ src=”http://saramac.main.jp/rssup.js”></script>
あと、ついでにレンタルサーバのPHPのバージョンを5にアップデート
しておきました。
こちらのほうが意外にやっかいで、mb_convert_encodingでエラーが
出て、びっくりしました。
php.iniを以下のように変更することで、解決しました。
mbstring.language Japanese
ほかにも、PEARがなくてインストールしたり、RSSの取得ライブラリが
うまく動かず修正して、なんとか無事に稼働してるようです。
どうもnew XML_RSS()でURLを引数にするとダメみたいなんですよねぇ
事前にfile_get_contents()あたりで取得しておいて、setInputString()で
文字列を設定してあげたら動作するようになりました。
これを発展させれば、汎用的なモジュールも作れそうですね。
「いぬリンク」のサイドパーツあたりを作ったら、需要はあるかな?
まぁ、現状のレンタルサーバでは負荷が多そうなので、状況を見つつ、
作ってみようかな。
PHPによるWebアプリケーションスーパーサンプル活用編 第2版 ソフトバンククリエイティブ 2008-07-12 by G-Tools |