PHP:将字符串中的空格转换为%20?


84

如何将字符串中的空格转换为%20

这是我的尝试:

$str = "What happens here?";
echo urlencode($str);

输出为"What+happens+here%3F",因此空格不表示为%20

我究竟做错了什么?

Answers:


200

请改用该rawurlencode函数。


1
请注意,如果您将此网址用作网址(而不是其查询部分),则将其转换为斜线将导致该网址无法使用。因此,如果您只需要注意空格(也许用于该URL),则建议使用str_replace。
—LukášŘádek'19

26

加号是URL参数中空格字符的历史编码,如该函数的帮助中所述urlencode()

该页面包含您需要的答案-rawurlencode()改为使用RFC 3986兼容的编码。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.