给定的网址如下www.example.com?1+1我应该如何解析数据并进行数学运算?如果它是这样的www.example.com?a=1&op=+&b=1然后我可以做 $_GET[“variable_name”]。但我能用前者做什么?解析此类查询的最佳方法是什么?我搜索了一个解决方案,但似乎无法找到与我目前的知识相关的东西。我尝试查看$_SERVER ,但我认为这没有帮助。
1 回答
慕斯王
TA贡献1864条经验 获得超2个赞
如果您确定不会传递任何恶意内容(或者您只是在测试),那么您可以执行以下操作:
$output = eval('return ' . parse_url($_SERVER['REQUEST_URI'])['query'] . ';');
echo $output;
强制性通知:
注意 eval() 语言结构非常危险,因为它允许执行任意 PHP 代码。因此不鼓励使用它。如果您已经仔细确认除了使用此构造没有其他选择,请特别注意不要在没有事先正确验证的情况下将任何用户提供的数据传递给它。
但是,我建议您使用以下方法并使用链接问题中的解析器解析表达式:
$exp = parse_url($_SERVER['REQUEST_URI'])['query']; // 1+1
如何评估在 PHP 中作为字符串传递的公式?
- 1 回答
- 0 关注
- 118 浏览
添加回答
举报
0/150
提交
取消