PHP中的urlencode函数,用于URL编码字符
urlencode是PHP中的一个内置函数,用于将URL中的字符进行编码,使之能够在URL中传递并正确解析。
在URL中,有一些特殊字符(比如空格、问号、#号等)是有特殊含义的,如果直接把这些字符放入URL中,可能会导致URL解析错误。所以,需要将这些特殊字符进行编码,使得它们可以在URL中被正确解析。
urlencode函数的用法非常简单,只需要将需要编码的字符串作为参数传入即可。函数会返回一个已经编码的字符串。
下面是urlencode函数的示例用法:
$str = "hello world!"; // 编码字符串 $encodedStr = urlencode($str); echo $encodedStr; // 输出: hello%20world%21 // 解码字符串 $decodedStr = urldecode($encodedStr); echo $decodedStr; // 输出: hello world!
在上面的示例中,首先使用urlencode函数对字符串"hello world!"进行编码,得到的结果是"hello%20world%21"。其中,空格被替换成了%20,感叹号被替换成了%21。
然后,使用urldecode函数对编码过的字符串进行解码,得到的结果是原始字符串"hello world!"。
urlencode函数的编码规则如下:
- 将空格编码成%20
- 将“!”编码成%21
- 将“#”编码成%23
- 将“$”编码成%24
- 将“&”编码成%26
- 将“'”编码成%27
- 将“("编码成%28
- 将")"编码成%29
- 将“*”编码成%2A
- 将“+”编码成%2B
- 将“,”编码成%2C
- 将"/"编码成%2F
- 将“:”编码成%3A
- 将“;”编码成%3B
- 将“=”编码成%3D
- 将“?”编码成%3F
- 将“@”编码成%40
- 将“[”编码成%5B
- 将“]”编码成%5D
需要注意的是,urlencode函数只针对字符串中的特殊字符进行编码,对其他字符不做任何处理。如果需要将整个URL进行编码,可以使用rawurlencode函数。
总结起来,urlencode函数是PHP中用于URL编码的一个非常有用的函数,可以将URL中的特殊字符进行编码,使之能够在URL中传递并正确解析。
