Heim >php教程 >php手册 >php中url处理函数总结

php中url处理函数总结

WBOY
WBOYOriginal
2016-06-13 10:17:001146Durchsuche

在php中url处理函数有很多,如有:http_build_query,compact,urldecode、urlencode,parse_url,rawurldecode等等函数。

http_build_query

(PHP 5) http_build_query — 生成 URL-encode 之后的请求字符串

 代码如下 复制代码

$data = array('foo'=>'bar',
'baz'=>'boom',
'cow'=>'milk',
'php'=>'hypertext processor');echo http_build_query($data); // foo=bar&baz=boom&cow=milk&php=hypertext+processor
?>


compact

array compact ( mixed $varname [, mixed $... ] )
(PHP 4, PHP 5)  compact — 建立一个数组,包括变量名和它们的值

 代码如下 复制代码

$city  = "San Francisco";
$state = "CA";
$event = "SIGGRAPH";
$result = compact("city", "state", "event");
// array('city'=>'"San Francisco"','state'=>'CA','event' => "SIGGRAPH")
?>
-------------

$qs=compact('province','city','name');
foreach($qs as $key => $value){
    if(!$value){
        unset($qs[$key]);
    }
}
$url='something/search/?'.http_build_query($qs) ;


urldecode、urlencode
下面来看介绍与实例。
parse_url($str url);
把url转换成数组

 代码如下 复制代码

*/
print_r(parse_url("www.bKjia.c0m"));       //解析url并输出返回数组

/*

url 专用格式字符串还原成普通字符串。

语法: string rawurldecode(string str);

返回值: 字符串

函数种类: 编码处理
 
内容说明


本函数将字符串解码。从 url 的字符串专用格式解成普通字符串。详细的编码解码信息及规格文件可以参考 rfc 1738。

 代码如下 复制代码

*/

echo rawurldecode('foo%20bar%40baz');      //输出foo bar@baz
/*

string rawurlencode ( string str )


返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数。这是在 rfc 1738 中描述的编码,是为了保护原义字符以免其被解释为特殊的 url 定界符,同时保护 url 格式以免其被传输媒体(像一些邮件系统)使用字符转换时弄乱。例如,如果你想在 ftp 的 url 中包含密码:

 

 代码如下 复制代码

*/
$str="http://www.bKjia.c0m";       //定义字符串
$result=rawurlencode($str);      //对指定字符串编码
echo $result;

/*
urldecode()
url解码
*/         //输出结果

$str="http%3a%2f%2fwww.bKjia.c0m";
$result=urldecode($str);
echo $result;

/*
urlencode()
url编码

*/

$str="http://www.bKjia.c0m";       //定义字符串
$result=urlencode($str);       //对指定字符串编码
echo $result;         //输出结果

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn