Php $\u服务器[';请求URI';]生成额外的&;在URL中

Php $\u服务器[';请求URI';]生成额外的&;在URL中,php,Php,这里有个问题 $_SERVER['REQUEST_URI'] 正在吐出: /dev/nava2/store/index.php?route=product/product&;产品id=48 实际的URL是/dev/nava2/store/index.php?route=product/product&product\u id=48 显然,区别在于&与底部的和 完整代码如下所示: $currentpage = $_SERVER['REQUEST_URI']; $classic

这里有个问题

$_SERVER['REQUEST_URI'] 
正在吐出:
/dev/nava2/store/index.php?route=product/product&;产品id=48

实际的URL是
/dev/nava2/store/index.php?route=product/product&product\u id=48

显然,区别在于
&与底部的

完整代码如下所示:

$currentpage = $_SERVER['REQUEST_URI'];  
$classic = "/dev/nava2/store/index.php?route=product/product&product_id=48";


if ($currentpage == $classic) 
    { $classicclass = "current";

    } 

else { echo "";} 

有什么建议吗?

&
是对应于
&
的html实体。您可以通过以下方式恢复原始字符串:


&
是对应于
&
的html实体。您可以通过以下方式恢复原始字符串:


您可以使用来获取实际的url,但顶部的url应该可以使用。我认为你不需要改变任何事情。如果您确实需要更改uri的某些部分,也可以使用str_replace或preg_replace。

您可以使用str_replace获取实际url,但最上面的url应该可以使用。我认为你不需要改变任何事情。如果您确实需要更改uri的某些部分,您也可以使用str_replace或preg_replace。

根据urldecode only decode%##编码,这是行不通的。根据urldecode only decode%#编码,这是行不通的。url不应该包含
&
,而是
&,但是大多数浏览器/web服务器将努力更正用户输入。。。请参阅。url不应包含
&
,而应包含
&,但是大多数浏览器/web服务器将努力更正用户输入。。。看见
$original = html_entity_decode($_SERVER['REQUEST_URI']);
echo html_entity_decode($_SERVER['REQUEST_URI']);