Php 将特殊字符转换为普通字符

Php 将特殊字符转换为普通字符,php,special-characters,Php,Special Characters,?和=将用作我的url中的一部分。在生成url时,我使用 。当我检查Firebug时,链接的href属性不是通常的url,而是?,它被替换为%3F,=被替换为%3D。如何修复此问题?阅读Drupal中l()函数的文档(我假设您正在使用Drupal) 属性数组中的“html”选项默认为FALSE,但是如果您使用的是html内容,则该选项必须为TRUE…我也有同样的问题,但我使用了以下代码并为我工作: rawurldecode(rawurldecode(l('node/'. $someID .'/

=
将用作我的url中的一部分。在生成url时,我使用


。当我检查
Firebug
时,链接的
href
属性不是通常的url,而是
,它被替换为
%3F
=
被替换为
%3D
。如何修复此问题?

阅读Drupal中l()函数的文档(我假设您正在使用Drupal)


属性数组中的“html”选项默认为FALSE,但是如果您使用的是html内容,则该选项必须为TRUE…

我也有同样的问题,但我使用了以下代码并为我工作:

rawurldecode(rawurldecode(l('node/'. $someID .'/delete?destination=chapter/'. $anotherID,array('absolute' => TRUE))));

希望这对任何人都有帮助

-不要相信萤火虫。查看源代码。查看一下http\u build\u query()(),它将帮助您避免这些问题。@MikeB也许,但如果
l()
在某个时候实际执行URL编码,那么他就有了答案。这是Drupal中的l()函数吗?@MikeBrant,是的,它是Drupal中的函数,我认为它将URL链接格式化为HTML锚定标记。但是,如果它已经格式化了,为什么会生成这些不寻常的字符呢?