で使用することはできません私は、PHP 5.5に問題がある:私はこのコードを使用する場合:警告:preg_replace_callback():修飾子/ eは置換コールバック
$source = preg_replace('/&#(\d+);/me', "utf8_encode(chr(\\1))", $source);
$source = preg_replace('/&#x([a-f0-9]+);/mei', "utf8_encode(chr(0x\\1))", $source);
リターンエラー推奨されていません
:にpreg_replaceを()/ Eの修飾子が廃止され、Iはpreg_replace_callbackで使用
代わりpreg_replace_callback使用:
警告::preg_replace_callback():
$source = preg_replace_callback('/&#(\d+);/me', function($m) { return utf8_encode(chr($m[1])); },$source); $source = preg_replace_callback('/&#x([a-f0-9]+);/mei', function($m) { return utf8_encode(chr("0x".$m[1])); },$source);
それは警告を返す/ E修飾子は、これを達成するための正しいコードになりますどのような置換コールバック
で使用することはできませんか?
その 'e''(修飾子)'を正規表現から削除します。つまり、あなたのコードは 'preg_replace_callback( '/&##(\ d +);/m'、function($ m){return utf8_encode(chr($ m [1]);}、$ source);' –
あなたのサポートのおかげで、それは働いている。 –