preg_replace_callback выдает несколько ошибок - PullRequest
0 голосов
/ 01 мая 2018

Я получаю сообщение об ошибке:

return preg_replace_callback("/([\\xF-\xC\xF]{1,1}[\\xBF-\\xBF]+)/e", _utf8_to_html("\\")', $data);

[cgi: error] [pid 8213] [client 151.56.154.134:58848] AH01215: PHP Предупреждение: preg_replace_callback (): требуется аргумент 2, '_utf8_to_html ("\ 1")', чтобы быть действительным обратным вызовом в / home / informag / public_html / filename.php в строке 951: / usr / local / cpanel / cgi-sys / ea-php54

Есть идеи отладить его?

1 Ответ

0 голосов
/ 01 мая 2018

помимо того факта, что в строке есть опечатка (дополнительно ' в конце второго параметра), php ожидает, что параметр "обратного вызова" будет либо анонимной функцией, либо строкой, содержащей имя функции для вызов. В вашем случае это будет выглядеть примерно так:

function _utf8_to_html() {
    // some logic...
}

preg_replace_callback("/([\\xF-\xC\xF]{1,1}[\\xBF-\\xBF]+)/e", '_utf8_to_html', $data);

или

$replacement = "\\"
preg_replace_callback("/([\\xF-\xC\xF]{1,1}[\\xBF-\\xBF]+)/e", function() use ($replacement) {
    //some logic...
}, $data);

обратите внимание, что только решение с анонимной функцией позволит вам использовать более одного параметра в функции обратного вызова.

...