我想要做:
$str = "<? echo 'abcd'; ?>";
if (is_valid_php($str)){
echo "{$str} is valid";
} else {
echo "{$str} is not valid PHP code";
}
有没有简单的is_valid_php检查方法?
我能找到的只是在线 php 语法检查器和检查语法的命令行方法,或者php_check_syntax仅适用于文件,我不想写入文件来检查字符串是否有效。
我宁愿不使用system()/exec()或eval()
相关问题- 它很旧,所以我希望有新的东西
其他相关问题- 所有选项(据我所知)要么不再受支持,要么使用命令行,要么必须检查文件(不是字符串)
我不需要成熟的编译器或任何东西。我实际上只需要知道字符串是否是有效的 PHP 代码。
编辑:通过有效的 php 代码,我的意思是它可以被执行,没有编译器/语法错误,并且应该只包含 PHP 代码。它可能有运行时错误并且仍然有效,例如$y = 33/0;. 并且它应该只包含 PHP... 例如,<div>stuff</div><? echo "str"; ?>将是无效的,但<? echo "str"; ?>将echo "$str";是有效的