我试图发送一个包含与符号的字符串的GET消息,不知道如何在URL中转义与符号。
例子:
http://www.example.com?candy_name=M&M
result => candy_name = M
我还试过:
http://www.example.com?candy_name=M\&M
result => candy_name = M\\
我手动使用url,所以我只需要正确的字符。
我不能使用任何库。怎样才能做到呢?
我试图发送一个包含与符号的字符串的GET消息,不知道如何在URL中转义与符号。
例子:
http://www.example.com?candy_name=M&M
result => candy_name = M
我还试过:
http://www.example.com?candy_name=M\&M
result => candy_name = M\\
我手动使用url,所以我只需要正确的字符。
我不能使用任何库。怎样才能做到呢?
当前回答
如果你不能使用任何库来编码值, http://www.urlencoder.org/或http://www.urlencode-urldecode.com/或…
只需输入你的值“M&M”,而不是完整的URL;-)
其他回答
我想对Blender的解决方案添加一个小小的评论。
您可以执行以下操作:
var link = 'http://example.com?candy_name=' + encodeURIComponent('M&M');
输出:
http://example.com?candy_name=M%26M
这样做的好处是,它不仅适用于&,而且适用于任何特殊字符。
例如:
var link = 'http://example.com?candy_name=' + encodeURIComponent('M&M?><')
输出:
"http://example.com?candy_name=M%26M%3F%3E%3C"
它们需要用百分比编码:
> encodeURIComponent('&')
"%26"
所以在你的例子中,URL看起来像这样:
http://www.mysite.com?candy_name=M%26M
如果有人想在PHP中使用它,这可能会有所帮助
$variable ="candy_name=M&M";
$variable = str_replace("&", "%26", $variable);
尝试使用http://www.example.org?candy_name=M%26M。
也可以在维基百科上看到这篇参考文献和更多信息。
如果你不能使用任何库来编码值, http://www.urlencoder.org/或http://www.urlencode-urldecode.com/或…
只需输入你的值“M&M”,而不是完整的URL;-)