PHP URL函数

PHP urlencode() 函数用于对 url 进行编码。该函数返回一个字符串,其中包含除 -_ 之外的所有非字母数字字符。

特殊符号替换为百分号 (%) 后跟两个十六进制数字,空格替换为加号 (+) ,替换规则如下:

  • 特殊符号 十六进制值
  • + 转义符为 %2B
  • 空格 转义符为 + 或 %20
  • / 转义符为 %2F
  • ? 转义符为 %3F
  • % 转义符为 %25
  • # 转义符为 %23
  • & 转义符为 %26
  • = 转义符为 %3D

语法

urlencode(string) 

参数

string必填。 指定要编码的 URL。

返回值

返回一个除-_符号的字符串。特殊符号替换为百分号 (%) 后跟两个十六进制数字和空格替换为加号 (+) ,参见上面的替换规则。

它的编码方式与 WWW 表单中发布的数据的编码方式相同,即与 application/x-www-form-urlencoded 媒体类型中的编码方式相同。

这与 RFC 3986 编码(请参阅 rawurlencode() 函数)不同,因为历史原因,空格被编码为加号 (+ ) 标志。

示例:

下面的示例显示了 urlencode() 函数的用法。

<?php
echo urlencode("https://www.yxjc123.com")."\n";

$userinput = "an online learning portal";

echo '<a href="www.yxjc123.com/',
  urlencode($userinput), '">';
?> 

上述代码的输出将是:

https%3A%2F%2Fwww.yxjc123.com
<a href="www.yxjc123.com/an+online+learning+portal"> 

示例:

再考虑一个示例,它显示了字符串的编码方式以及已解码。

<?php
$str1 = "https://www.yxjc123.com";
$encoded_str1 = urlencode($str1);

echo "The string is: $str1 \n";
echo "Encoded string: $encoded_str1 \n";

$str2 = "https%3A%2F%2Fwww.yxjc123.com";
$decoded_str2 = urldecode($str2);

echo "\nThe string is: $str2 \n";
echo "Decoded string: $decoded_str2 \n";
?> 

上述代码的输出将是:

The string is: https://www.yxjc123.com
Encoded string: https%3A%2F%2Fwww.yxjc123.com 

The string is: https%3A%2F%2Fwww.yxjc123.com 
Decoded string: https://www.yxjc123.com