php如何解析url?解析url的5种方式介绍
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php如何解析url?解析url的5种方式介绍,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2556字,纯文字阅读大概需要4分钟。
内容图文
![php如何解析url?解析url的5种方式介绍](/upload/InfoBanner/zyjiaocheng/125/76f513cf6a6f493a95e0c7028c417b4c.jpg)
![php如何解析url?解析url的5种方式介绍 - 文章图片](/upload/getfiles/0001/2021/4/21/20210421013413939.jpg)
php解析url的几种方式
1、利用$_SERVER内置数组变量
访问:
http://localhost/test.php?m=admin&c=index&a=lists&catid=1&page=1
//URL的参数 echo $_SERVER['QUERY_STRING']; 返回: m=admin&c=index&a=lists&catid=1&page=1 //包含文件名 echo $_SERVER["REQUEST_URI"];
返回:
/test.php?m=admin&c=index&a=lists&catid=1&page=1
2、利用pathinfo内置函数
echo "<pre>"; $url = 'http://localhost/test.php?m=admin&c=index&a=lists&catid=1&page=1#top'; var_export(pathinfo($url));
返回:
array ( 'dirname' => 'http://localhost', 'basename' => 'test.php?m=admin&c=index&a=lists&catid=1&page=1#top', 'extension' => 'php?m=admin&c=index&a=lists&catid=1&page=1#top', 'filename' => 'test', )
3、利用parse_url内置函数
echo "<pre>"; $url = 'http://localhost/test.php?m=admin&c=index&a=lists&catid=1&page=1#top'; var_export(parse_url($url));
返回:
array ( 'scheme' => 'http', 'host' => 'localhost', 'path' => '/test.php', 'query' => 'm=admin&c=index&a=lists&catid=1&page=1', 'fragment' => 'top', )
4、利用basename内置函数
echo "<pre>"; $url = 'http://localhost/test.php?m=admin&c=index&a=lists&catid=1&page=1#top'; var_export(basename($url));
返回:
test.php?m=admin&c=index&a=lists&catid=1&page=1#top
5、正则匹配
echo "<pre>"; $url = 'http://localhost/test.php?m=admin&c=index&a=lists&catid=1&page=1#top'; preg_match_all("/(\w+=\w+)(#\w+)?/i",$url,$match); var_export($match);
返回:
array ( 0 => array ( 0 => 'm=admin', 1 => 'c=index', 2 => 'a=lists', 3 => 'catid=1', 4 => 'page=1#top', ), 1 => array ( 0 => 'm=admin', 1 => 'c=index', 2 => 'a=lists', 3 => 'catid=1', 4 => 'page=1', ), 2 => array ( 0 => '', 1 => '', 2 => '', 3 => '', 4 => '#top', ), )
url常用处理方法
/** * 将字符串参数变为数组 * @param $query * @return array */ function convertUrlQuery($query) { $queryParts = explode('&', $query); $params = array(); foreach ($queryParts as $param) { $item = explode('=', $param); $params[$item[0]] = $item[1]; } return $params; } /** * 将参数变为字符串 * @param $array_query * @return string */ function getUrlQuery($array_query) { $tmp = array(); foreach ($array_query as $k => $param) { $tmp[] = $k . '=' . $param; } $params = implode('&', $tmp); return $params; }
例:
echo "<pre>"; $url = 'http://localhost/test.php?m=admin&c=index&a=lists&catid=1&page=1#top'; $arr = parse_url($url); $arr_query = convertUrlQuery($arr['query']); var_export($arr_query);
返回:
array ( 'm' => 'admin', 'c' => 'index', 'a' => 'lists', 'catid' => '1', 'page' => '1', )
var_export(getUrlQuery($arr_query));
返回:
m=admin&c=index&a=lists&catid=1&page=1
相关教程推荐:《PHP教程》
以上就是php如何解析url?解析url的5种方式介绍的详细内容。
本文系统来源:https://www.php.cn/php-weizijiaocheng-455818.html内容总结
以上是互联网集市为您收集整理的php如何解析url?解析url的5种方式介绍全部内容,希望文章能够帮你解决php如何解析url?解析url的5种方式介绍所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。