我正在尝试使用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解析错误:语法错误,意外的T_FUNCTION
在preg_replace_callback()
调用时,可能是由于匿名功能。
无法使用版本检查来决定使用将导致先前版本中的解析错误的语言功能。解析器查看整个文件,而不管分支如何。
如果该版本的棉绒检查失败,则无论分支如何,它均不起作用:
> php -l file.php
> PHP Parse error: syntax error, unexpected T_FUNCTION
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句