PHP:解析没有变量名的URL查询的最佳方法?

PHP:解析没有变量名的URL查询的最佳方法?,php,parsing,url,Php,Parsing,Url,给定URL如下所示 www.example.com?1+1 我应该如何解析数据并进行计算 如果是这样的话 www.example.com?a=1&op=+&b=1 然后我就可以做$\u GET[“variable\u name”] 但是我能用前者做什么呢? 解析此类查询的最佳方法是什么 我在寻找解决方案,但似乎找不到与我现有知识相关的东西。 我尝试查看,但我认为这没有帮助。如果您确信不会通过任何恶意测试(或者您只是在测试),则可以执行以下操作: $output = eval(

给定URL如下所示

www.example.com?1+1
我应该如何解析数据并进行计算

如果是这样的话

www.example.com?a=1&op=+&b=1
然后我就可以做$\u GET[“variable\u name”]

但是我能用前者做什么呢? 解析此类查询的最佳方法是什么

我在寻找解决方案,但似乎找不到与我现有知识相关的东西。 我尝试查看,但我认为这没有帮助。

如果您确信不会通过任何恶意测试(或者您只是在测试),则可以执行以下操作:

$output = eval('return ' . parse_url($_SERVER['REQUEST_URI'])['query'] . ';');

echo $output;
强制通知:

小心 eval()语言构造非常危险,因为它允许执行任意PHP代码。因此,不鼓励使用它。如果您已经仔细验证了除了使用此构造之外没有其他选择,请特别注意,在未事先正确验证的情况下,不要将任何用户提供的数据传递到该构造中

但是,我建议您使用以下方法,并在链接问题中使用解析器解析表达式:

$exp = parse_url($_SERVER['REQUEST_URI'])['query']; // 1+1
阅读材料

如果您确信不会通过任何恶意测试(或者您只是在测试),则可以执行以下操作:

$output = eval('return ' . parse_url($_SERVER['REQUEST_URI'])['query'] . ';');

echo $output;
强制通知:

小心 eval()语言构造非常危险,因为它允许执行任意PHP代码。因此,不鼓励使用它。如果您已经仔细验证了除了使用此构造之外没有其他选择,请特别注意,在未事先正确验证的情况下,不要将任何用户提供的数据传递到该构造中

但是,我建议您使用以下方法,并在链接问题中使用解析器解析表达式:

$exp = parse_url($_SERVER['REQUEST_URI'])['query']; // 1+1
阅读材料


您可以从
$\u服务器['query\u string']
获取查询字符串,但是您必须根据您的期望对其进行分析,或者对其进行评估,这将是非常危险的。您可以从
$\u服务器['query\u string']
获取查询字符串,但是您必须根据您的期望对其进行分析,或者评估它,这将是疯狂的危险。谢谢,但我怎么能得到这样的当前网址??我在第一个链接中尝试了答案,并回显了
$actual\u link
,但没有显示@Leonard my error,更新:
$\u SERVER['REQUEST\u URI']
。编辑:可悲的是,这正是我所做的,它不起作用。当我执行'echo$\u SERVER[“REQUEST\u URI”];`它什么也没显示。@Leonard你有任何修改激活吗?哦,我认为这是一个奇怪的服务器问题!我重新启动了它,现在它工作了!谢谢抱歉我不知道mod重写是什么:(谢谢,但是我怎么能得到这样的当前URL呢?我在第一个链接中尝试了答案,并回显了
$actual\u link
,但是没有任何结果@Leonard my Mirror,updated:
$\u SERVER['REQUEST\u URI']
.Edit:很遗憾,这正是我所做的,但它不起作用。当我执行'echo$\u SERVER[“REQUEST\u URI”];'时,它什么也不显示。@Leonard你有任何修改活动吗?哦,我认为这是一个奇怪的服务器问题!我重新启动了它,现在它可以工作了!谢谢,对不起,我不知道修改是什么:(