preg_replace устарел, используйте preg_replace_callback

я осознаю

preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead

в одном из файлов моего приложения.

Рядом с нижними строками

   $str = preg_replace('/\&\#([0-9]+)\;/me', "code2utf('\\1',{$lo})",$str);
   $str = preg_replace('/\&\#x([0-9a-fA-F]+)\;/me', "codeHex2utf('\\1',{$lo})",$str);

Как преобразовать приведенный выше код preg_replace в preg_replace_callback?


person rji rji    schedule 12.10.2015    source источник


Ответы (1)


Используйте анонимные функции

Проверьте этот ответ.

person Anurag Verma    schedule 12.10.2015
comment
Я написал код выше как $str = preg_replace_callback(/\&\#([0-9]+)\;/me, function($m) { return code2utf($m[1],{$lo}) ; }, $str ); $str = preg_replace_callback(/\&\#x([0-9a-fA-F]+)\;/me, function($m) { return codeHex2utf($m[1],{$lo}); } , $стр ); Я не смог найти устаревшую проблему, но страница пуста. Это то, как я должен использовать preg_replace_callback? - person rji rji; 12.10.2015
comment
Опубликуйте полный блок кода - person Anurag Verma; 12.10.2015
comment
Я создал тестовый блок для справки, просто посмотрите ideone.com/k1xE5T - person Anurag Verma; 12.10.2015