urlencode()函数,可以将指定的字符串以url编码的形式进行编码。它同样也是PHP中的一个内置函数,与之相反的urldecode()函数可以对URL编码进行解码,下面这篇文章就分别讲解一下PHP中的urlencode()函数与urldecode()函数的浸染与用法。
PHP urlencode()函数
urlencode():用于字符串编码并将其用于 URL 的要求部分.
语法:

urlencode (string)
参数:
string:必需,用于待编码的字符串
例:PHP利用urlencode()函数进行url编码示例1:
<?php$str = 'http://www.feiniaomy.com';echo urlencode($str);?>
输出结果:
http%3A%2F%2Fwww.feiniaomy.com
注:urlencode()函数将除字母以外的内容都被编码
示例2:
<?php$str = 'http://www.feiniaomy.com?id=1&s=o';echo urlencode($str);?>
输出结果:
http%3A%2F%2Fwww.feiniaomy.com%3Fid%3D1%26s%3Do
注:urlencode()函数将网址后面所带的参数也全部被编码
示例3:
<?php$str = '飞鸟慕鱼博客,作者mochu';echo urlencode($str);?>
输出结果:
%E9%A3%9E%E9%B8%9F%E6%85%95%E9%B1%BC%E5%8D%9A%E5%AE%A2%EF%BC%8C%E4%BD%9C%E8%80%85mochu
注:urlencode()函数将除字母以外的汉字全部被编码
示例4:
<?php$str = '作者:mochu 手机号:123456789';echo urlencode($str);?>
输出结果:
%E4%BD%9C%E8%80%85%EF%BC%9Amochu+%E6%89%8B%E6%9C%BA%E5%8F%B7%EF%BC%9A123456789
注:urlencode()函数将除字母以及数字以处的内容全部被编码
示例5:
<?php//把稳:字符串的末了一位是空格$str = 'feiniaomy.com-mochu-_ ';echo urlencode($str);?>
输出结果:
feiniaomy.com-mochu-_+
urlencode()函数总结:
1、urlencode()函数可以将非字母以及数据之外的内容进行编码
2、编码的形式以百分号(%)后跟两位十六进制数进行转换
3、字符“-”和字符“_”不会被编码,保留原样输出,参考示例5
4、空格的编码为+ (加号),参考示例5
PHP urldecode() 函数
urldecode():解码已编码的 URL 字符串
语法:
urldecode (string)
参数:
string:要解码的字符串
例:urldecode()在php中的利用方法示例1:
<?php//声明一下页面的编码,防止输出中文时乱码header(\公众Content-type: text/html; charset=utf-8\公众);$str = '飞鸟慕鱼博客';$str2 = urlencode($str);echo $str2;echo '<br/>';echo urldecode($str2);?>
输出结果:
%E9%A3%9E%E9%B8%9F%E6%85%95%E9%B1%BC%E5%8D%9A%E5%AE%A2飞鸟慕鱼博客
示例2:
<?php$str = 'http://www.baidu.com';$str2 = urlencode($str);echo $str2;echo '<br/>';echo urldecode($str2);?>
输出结果:
http%3A%2F%2Fwww.baidu.comhttp://www.baidu.com
补充内容:
1、php超全局变量$_GET与$_REQUEST对提交的参数会自动解码,无需二次操作
2、PHP的$_COOKIE变量须要 urldecode 解码
3、urlencode()与urldecode()在其它编程措辞中也有所涉及,比如ASP,JSP,C#等