?
和=
将在我的网址中用作部分。在生成url时,我使用将特殊字符转换为正常字符
<?php echo l('node/'. $someID .'/delete?destination=chapter/'. $anotherID);?>
。当我检查Firebug
时,链接的href
属性不是通常的url,而是具有?
,它正在被替换为%3F
,并且=
正在被替换为%3D
。我该如何解决?
?
和=
将在我的网址中用作部分。在生成url时,我使用将特殊字符转换为正常字符
<?php echo l('node/'. $someID .'/delete?destination=chapter/'. $anotherID);?>
。当我检查Firebug
时,链接的href
属性不是通常的url,而是具有?
,它正在被替换为%3F
,并且=
正在被替换为%3D
。我该如何解决?
阅读在Drupal的L()函数的文档(我假设你正在使用的Drupal)
http://api.drupal.org/api/drupal/includes%21common.inc/function/l/6
的“HTML”选项默认为属性阵列中的假,但是这必须是TRUE,如果您使用的HTML内容...
我有同样的问题,但我用下面的代码,并为我工作:
rawurldecode(rawurldecode(l('node/'. $someID .'/delete?destination=chapter/'. $anotherID,array('absolute' => TRUE))));
何这有助于任何人。
[网址编码](http://php.net/url_encode) - 不要相信萤火虫。查看来源。 – 2013-03-07 18:24:49
'l()'做了什么? – 2013-03-07 18:25:23
看看'http_build_query()'(http://www.php.net/manual/en/function.http-build-query.php)它会帮助你避免这些问题。 – dnagirl 2013-03-07 18:25:35