PHP 处理URL的几个函数:parse_url,parse_str,pathinfo,basename。
parse_url 函数
Demo:
$text = 'http://miu.im:8080/blog/index.php?act=post&id=10#more-10';
$parseResult = parse_url($text);
print_r($parseResult);
输出:
Array
(
[scheme] => http
[host] => miu.im
[port] => 8080
[path] => /blog/index.php
[query] => act=post&id=10
[fragment] => more-10
)
parse_url 函数还有第二个参数,可以直接获取某部分,返回 string,参数名参考上面输出的结果,比如:
$text = 'http://miu.im:8080/blog/index.php?act=post&id=10#more-10';
$parseResult = parse_url($text, PHP_URL_QUERY);
echo $parseResult;
输出:
act=post&id=10
parse_str 函数把查询字符串解析到变量中。
Demo:
parse_str("act=post&id=10");
echo $act;
echo '
';
echo $id;
输出:
post
10
parse_url 函数还有第二个参数,把查询字符串解析到数组中。
Demo:
parse_str("act=post&id=10",$query_arr);
print_r($query_arr);
输出:
Array
(
[act] => post
[id] => 10
)
pathinfo 函数
Demo:
$text = 'http://miu.im:8080/blog/index.php?act=post&id=10#more-10';
$pathResult = pathinfo($text);
print_r($pathResult);
输出:
Array
(
[dirname] => http://miu.im:8080/blog
[basename] => index.php?act=post&id=10#more-10
[extension] => php?act=post&id=10#more-10
[filename] => index
)
basename 函数
Demo:
$text = 'http://miu.im:8080/blog/index.php?act=post&id=10#more-10';
echo basename($text);
输出:
index.php?act=post&id=10#more-10
拓展阅读