2014-10-21 17 views
0

У меня есть страница PHP, в котором я использую следующую команду: -Как заменить preg_replace на preg_replace_callback в PHP5.4?

$abc = preg_replace('/&#(\d+);/me', "chr(\\1)", $abc); 

Теперь я хочу, чтобы заменить приведенную выше команду с функцией «preg_replace_callback», как preg_replace является устаревшим в PHP 5.4.

Как я могу это достичь?

+0

возможно дубликат [Заменить устаревший PREG \ _replace/е с PREG \ _replace \ _callback] (http://stackoverflow.com/questions/19245205/replace- debrecated-preg-replace-e-with-preg-replace-callback) – Im0rtality

ответ

0

Попробуйте использовать анонимные функции, как это:

$abc = preg_replace_callback(
    '/&#(\d+);/me', 
    function ($match) 
    { 
     return chr($match[1]); 
    }, 
    $abc 
); 
+0

Большое спасибо за ответ. Я использовал указанный вами код, но я получаю сообщение об ошибке: preg_replace_callback() «Требуется аргумент 2,» function ($ a) {return chr ($ a [1]);} ', чтобы быть действительным обратным вызовом " – Gaurang

+0

Не знаете, почему это произошло. Возможно, $ a является зарезервированной переменной. Попробуйте отредактированный код. – EnKrypt

+0

На самом деле это дает мне ошибку в ключевое слово функции, в котором указан неправильный синтаксис. Нужно ли все это делать в одинарных кавычках? – Gaurang

Смежные вопросы