【发布时间】:2011-05-05 04:56:02
【问题描述】:
我正在建立一个论坛,网址包含您要查看的主题的标题。但如果它包含一个!然后它会引发 404 错误。我知道 ASCII 字符!是 %21,我假设 urlencode() 会改变!到 %21 但它没有。当我点击链接时,网址仍然包含!这是破坏网址。有什么建议吗?
【问题讨论】:
-
urlencode 应该可以,但你也可以试试 rawurlencode()
-
请发布您的代码。我刚刚测试了 php 的
urlencode()函数,它确实将!编码为%21。您的代码肯定有其他问题。 -
我只是使用这个:urlencode($forum['last_post_topic']);在我的 标签中。数据库中的 $forum['last_post_topic'] 看起来 Asf 很棒!但是当我点击链接时,网址显示为 ASF+is+absolutely+awesome!所以 urlencode() 正在替换空格而不是感叹号
-
ive 设法使用测试脚本缩小范围。回显 urlencode('!TEST!/?TEST?');正常工作。回显数据库值也可以: echo urlencode($row['f_last_post']);但是当我将编码的数据库值放在链接中时它不起作用! echo ''.$row['f_last_post'].'';显示 - ASF+是+绝对+真棒!作为链接。那么为什么 urlencode 在 标签中不起作用?
-
似乎是“本机”函数对 URL 进行编码的问题。涉及到一些字符,看看这个:dwfaq.com/tutorials/miscellaneous/special_links_encoding.asp