Feed2JS を PHP 5.3 で使うには

sb-users.jp の関連ブログ記事コーナーで利用している Feed2JS ですが、PHP 5.3.3 の環境ではエラーが出て何も表示されませんでした。
正しく動いているか確認すべく /feed2js/magpie_debug.php にアクセスするとやはりエラーが。
/feed2js/magpie/rss_parse.inc の L.153 の split がまずいらしい。

この関数は PHP 5.3.0 で 非推奨となりました。 この機能を使用しないことを強く推奨します。

PHP: split – Manual

おおう・・・。

/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 で 非推奨となりました。 この機能を使用しないことを強く推奨します。

PHP: ereg_replace – Manual

また出たー!

代替となるのが preg_replace で、こちらも置き換えしただけでは動かなかったので L.62 を以下のように修正しました。

$subquotes = preg_replace("/'/", "'", stripslashes($text));

これにて一件落着!

「Feed2JS を PHP 5.3 で使うには」への2件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です