2013-03-07 107 views
1

?=将在我的网址中用作部分。在生成url时,我使用将特殊字符转换为正常字符

<?php echo l('node/'. $someID .'/delete?destination=chapter/'. $anotherID);?>。当我检查Firebug时,链接的href属性不是通常的url,而是具有?,它正在被替换为%3F,并且=正在被替换为%3D。我该如何解决?

+0

[网址编码](http://php.net/url_encode) - 不要相信萤火虫。查看来源。 – 2013-03-07 18:24:49

+1

'l()'做了什么? – 2013-03-07 18:25:23

+0

看看'http_build_query()'(http://www.php.net/manual/en/function.http-build-query.php)它会帮助你避免这些问题。 – dnagirl 2013-03-07 18:25:35

回答

0

我有同样的问题,但我用下面的代码,并为我工作:

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

何这有助于任何人。