我对以下内容感到非常困惑:
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 举报,一经查实,本站将立刻删除。