Я пытаюсь поддерживать две версии кода PHP в одном файле с помощью version_compare, но у меня все еще есть ошибка.Как я могу кодировать для нескольких версий PHP в том же файле без ошибок?
Код:
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 Parse error: syntax error, unexpected T_FUNCTION
На preg_replace_callback()
звонки, вероятно, из-за анонимных функций.
Я знаю, что на практике это не всегда так просто, но одно решение в этом случае просто не поддерживает [версии PHP, для которых официально не доступны патчи безопасности) (http://php.net/eol. php), который на момент написания означает, что ваша минимальная поддерживаемая версия должна быть 5.4! – IMSoP
Большинство сайтов, которые я построил, для 5.2, к сожалению, вне моего управления, к сожалению, – orbitory