我想要做:
$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";
是有效的