# 常用url处理函数
### 1、parse\_url
parse\_url — 解析 URL,返回其组成部分;对严重不合格的 URL,parse\_url() 可能会返回 FALSE。
格式:第一个参数为url的字符串变量;第二个参数为指定 PHP\_URL\_SCHEME、 PHP\_URL\_HOST、 PHP\_URL\_PORT、 PHP\_URL\_USER、 PHP\_URL\_PASS、 PHP\_URL\_PATH、PHP\_URL\_QUERY 或 PHP\_URL\_FRAGMENT 的其中一个来获取 URL 中指定的部分的 string。
~~~
$url = "https://www.kancloud.cn/chunyu/php_basic_knowledge";
$main_url = parse_url($url,PHP_URL_HOST);
var_dump($main_url);
结果:
string(15) "www.kancloud.cn"``
~~~
### 2、parse\_str
parse\_str() 函数把查询字符串解析到变量中。
~~~
$url = "https://www.kancloud.cn/chunyu/php_basic_knowledge?id=5&name=jake";
$main_url = parse_url($url);
$query = $main_url['query'];//id=5&name=jake
parse_str($query);
echo $id;
结果:
5
~~~
### 3、http\_build\_query
http\_build\_query()函数的作用是将一个数组转换成url 问号?后面的参数字符串,并且会自动进行urlencode处理。
~~~
$data=['id'=>5,'name'=>'jake'];
$url='https://www.kancloud.cn';
$result = http_build_query($data);
echo $url.'?'.$result;
结果:
https://www.kancloud.cn?id=5&name=jake
~~~
### 4、pathinfo
回一个关联数组包含有 path 的信息。包括以下的数组单元。
~~~
$path = "http://www.test.com/html/test.php?k=1";
$path_parts = pathinfo($path);
print_r($path_parts);
Array //输出结果
(
[dirname] => http://www.test.com/html
[basename] => test.php?k=1
[extension] => php?k=1
[filename] => test
)
~~~