相关疑难解决方法(0)

如何评估在PHP中作为字符串传递的公式?

只是试图找出执行数学运算的正确和更安全的方式作为字符串传递.在我的场景中,它是从图像EXIF数据中获取的值.

经过一些研究,我发现了两种方法.

首先,使用eval:

function calculator1($str){
    eval("\$str = $str;");
    return $str;
}
Run Code Online (Sandbox Code Playgroud)

第二,使用create_function:

function calculator2($str){
    $fn = create_function("", "return ({$str});" );
    return $fn();
};
Run Code Online (Sandbox Code Playgroud)

这两个示例都需要清理字符串以避免恶意代码执行.有没有其他或更短的方式这样做?

php string math parsing eval

37
推荐指数
1
解决办法
3万
查看次数

标签 统计

eval ×1

math ×1

parsing ×1

php ×1

string ×1