Я пытаюсь поддерживать две версии некоторого PHP кода в одном файле с помощью version_compare, но я все равно получаю сообщение об ошибке.
код:
if (version_compare(PHP_VERSION, '5.3.0') >= 0) {
$alias = preg_replace_callback('/&#x([0-9a-f]{1,7});/i', function($matches) { return chr(hexdec($matches[1])); }, $alias);
$alias = preg_replace_callback('/&#([0-9]{1,7});/', function($matches) { return chr($matches[1]); }, $alias);
} else {
$alias = preg_replace('/&#x([0-9a-f]{1,7});/ei', 'chr(hexdec("\\1"))', $alias);
$alias = preg_replace('/&#([0-9]{1,7});/e', 'chr("\\1")', $alias);
}
Но я получаю:
Ошибка анализа паролей PHP: синтаксическая ошибка, неожиданный T_FUNCTION
В вызовах preg_replace_callback()
, возможно, из-за анонимных функций.