本站源码全部测试通过,配有前台及后台演示图,绿色安全,希望能对大家有所帮助!
  • 收藏本站
  • 网站地图
  • 发布源码
  • 首 页
  • app源码
  • 小程序源码
  • VPS/云主机
  • php如何解析url?解析url的5种方式介绍
    时间:2020-07-19 07:53:23来源:模板之家 作者:转载大师 下载:49446 次

    php解析url的几种方式


    1、利用$_SERVER内置数组变量


    访问:

    http://localhost/test.php?m=admin&c=index&a=lists&catid=1&page=1

    //URL的参数
    echo $_SERVERQUERY_STRING;
    返回:
    m=admin&c=index&a=lists&catid=1&page=1
    //包含文件名
    echo $_SERVERREQUEST_URI;

    返回:

    /test.php?m=admin&c=index&a=lists&catid=1&page=1

    2、利用pathinfo内置函数

    echo 
    ;
    $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 
    ;
    $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 
    ;
    $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 
    ;
    $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$item0 = $item1;
        }
        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 
    ;
    $url = http://localhost/test.php?m=admin&c=index&a=lists&catid=1&page=1#top;
    $arr = parse_url($url);
    $arr_query = convertUrlQuery($arrquery);
    var_export($arr_query);

    返回:

    array (
      m => admin,
      c => index,
      a => lists,
      catid => 1,
      page => 1,
    )
    1
    var_export(getUrlQuery($arr_query));

    返回:

    m=admin&c=index&a=lists&catid=1&page=1


    转载请注明来源:php如何解析url?解析url的5种方式介绍
    本文永久链接地址:bencandy.php?fid=34&id=16458
    本文标签:

    版权声明:
    —— 本文内容由互联网用户自发贡献, 本站不拥有所有权, 不承担相关法律责任, 如果发现本站有涉嫌抄袭的内容, 欢迎发送邮件至 :
    —— 1034252225@qq.com 举报, 并提供相关证据, 一经查实, 本站将立刻删除涉嫌侵权内容。

    QQ在线客服

    服务热线

    织梦建站咨询