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