### 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
)
```