MacBSの日常生活的日記

JavaScriptからPHP呼び出し

先日作った、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
モバイルバージョンを終了