我有需要评估的逻辑表达式。在使用其参数参数化一些表达式模板之后,这些表达式可能如下所示:
$expr1 = '1 or 0 and not(0 or 0)';
$expr2 = "'editor' == 'editor' and not(0 = 1) and 10 > 5";
所以,我需要处理数字、字符串文字,以及逻辑和代数运算符以及它们之间的圆括号。
使用 PHP eval 时,我还会获得不受欢迎的不安全功能,例如系统函数调用等。
那么,有没有办法限制 PHP eval,或者可能有更好的解决方案?
谢谢!