微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php-自动将尾部斜杠添加到urlencoded网址中

我对以下内容感到非常困惑:

echo("<a href='http://".urlencode("www.test.com/test.PHP?x=1&y=2")."'>test</a><br>");

echo("<a href='http://"."www.test.com/test.PHP?x=1&y=2"."'>test</a>");

一个链接添加了斜杠(这导致我出现问题)
第二个链接没有.

谁能帮助我了解原因.
显然,这似乎与urlencode有关,但我不知道是什么.

谢谢
C

解决方法:

您不应使用urlencode()来回显URL,除非URL包含一些非标准字符.

提供的示例没有任何异常.

$query = 'hello how are you?';

echo 'http://example.com/?q=' . urlencode($query);
// Ouputs http://example.com/?q=hello+how+are+you%3F

请参阅我使用它的原因,因为$query变量可能包含空格,问号等.我不能使用问号,因为它表示查询字符串的开头,例如index.PHP?page = 1.

实际上,该示例最好仅输出而不是回显.

另外,当我尝试您的示例代码时,我没有得到斜杠,实际上我得到了

<a href='http://www.test.com%2Ftest.PHP%3Fx%3D1%26y%3D2'>test</a>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐