首页后端开发PHPphp如何解析url?解析url的5种方式介绍

php如何解析url?解析url的5种方式介绍

时间2024-02-02 09:37:03发布访客分类PHP浏览1036
导读:收集整理的这篇文章主要介绍了php如何解析url?解析url的5种方式介绍,觉得挺不错的,现在分享给大家,也给大家做个参考。php解析URL的几种方式1、利用$_SERVER内置数组变量访问:http://localhost/test.ph...
收集整理的这篇文章主要介绍了php如何解析url?解析url的5种方式介绍,觉得挺不错的,现在分享给大家,也给大家做个参考。

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种方式介绍的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: php如何解析url?解析url的5种方式介绍
本文地址: https://pptw.com/jishu/596669.html
PHP如何解压缩zip文件?(代码示例) 详解之一:PHP与Web页面的交互示例

游客 回复需填写必要信息