在PHP中获取复杂的URL参数



你好,我正在尝试使用get

从php代码获得参数(url(
<?php
      $url = $_GET['url'];

,它是使用

触发的
http://localhost/run.php?url=www.google.com

在这种情况下,$url等于www.google.com

但是,如果URL包含"&amp;"它行不通。例如:

http://localhost/run.php?url=www.google.com?action=Go&category=3&name=foo%20bar

在这种情况下,$ URL等于www.google.com?action=Go,并在第一个"&amp;"。

如何解决此问题而无需修改实际URL?我的目标是将所有参数(包括字符串(传递到$ url。由于URL是动态生成的,因此我无法预测将使用哪些参数。

有关Get的Wikipedia文章指出:

这是一种用于编码可能重复的键值对的格式 钥匙。每个键值对都被一个'&amp;'隔开角色,每个角色 钥匙通过'='字符与其值分开。 https://en.wikipedia.org/wiki/post_(http(

因为'&amp;'用于将其省略的值分开(或将其存储在下一个键值对中(。

希望有帮助。

我现在找到了一种方法。

$url= $_SERVER['QUERY_STRING'];

将在第一个"?"之后捕获完整的URL。签名到$ URL。然后,我要做的就是从$ url

中删除" url ="

最新更新