sb-users.jp の関連ブログ記事コーナーで利用している Feed2JS ですが、PHP 5.3.3 の環境ではエラーが出て何も表示されませんでした。
正しく動いているか確認すべく /feed2js/magpie_debug.php にアクセスするとやはりエラーが。
/feed2js/magpie/rss_parse.inc の L.153 の split がまずいらしい。
この関数は PHP 5.3.0 で 非推奨となりました。 この機能を使用しないことを強く推奨します。
おおう・・・。
/feed2js/magpie/rss_parse.inc の修正
代替となるのが preg_split ですが、その部分だけの置き換えではうまくいかず、以下のようにしたところ magpie_debug.php でのエラーはなくなりました。
list($ns, $el) = preg_split( '/:/', $element, 2);
/feed2js/feed2js_config.php の修正
magpie_debug.php でのエラーはなくなったものの、実際のページには何も表示されないまま。
そこで、Feed2JS が吐き出している JavaScript を直接ブラウザで表示してみたところ、別のエラーが出ていました。
/feed2js/feed2js_config.php の L.62 及び L.63 にある ereg_replace が問題とのこと。
この関数は PHP 5.3.0 で 非推奨となりました。 この機能を使用しないことを強く推奨します。
また出たー!
代替となるのが preg_replace で、こちらも置き換えしただけでは動かなかったので L.62 を以下のように修正しました。
$subquotes = preg_replace("/'/", "'", stripslashes($text));
これにて一件落着!