• 249月

    先日作った、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()で
    文字列を設定してあげたら動作するようになりました。

    これを発展させれば、汎用的なモジュールも作れそうですね。
    「いぬリンク」のサイドパーツあたりを作ったら、需要はあるかな?
    まぁ、現状のレンタルサーバでは負荷が多そうなので、状況を見つつ、
    作ってみようかな。

    4797347856 PHPによるWebアプリケーションスーパーサンプル活用編 第2版
    ソフトバンククリエイティブ 2008-07-12

    by G-Tools

    Filed under: Blog
    2009/09/24 3:48 pm | JavaScriptからPHP呼び出し はコメントを受け付けていません。

Comments are closed.