• 技术文章 >后端开发 >php教程

    php parse_str()函数和parse_url()函数解析URL的区别

    怪我咯怪我咯2017-05-27 10:46:20原创1252

    在PHP 中有2个解析URL的函数,分别是parse_str()函数和parse_url()函数,其中parse_str函数将查询字符串解析到变量中,parse_url函数用于解析整个URL,并返回其组成部分,前面的

    文章也分别给这两个函数做了讲解,本篇文字主要介绍php parse_str()函数和parse_url()函数这两个函数在解析URL时的使用方法和区别。

    首先先看php parse_str函数

    php parse_str函数将查询字符串解析到变量中。

    parse_str函数有两个参数,第一个参数为需要解析的查询字符串并且是必须的,第二个参数用于设置接收解析查询字符串的变量,第二个参数是可选的。请看下面实例:

    这里我们使用了parse_url来获取URL的查询字符串,parse_url函数下面有讲解。

    <?php
    $url_name='//m.sbmmt.com/mytest.php?uid=5&pages=2&category=3';
    $urlarr=parse_url($url_name);
    
    //指定第二个参数
    parse_str($urlarr['query'],$parr);//$urlarr['query']的值为:uid=5&pages=2&category=3'
    print_r($parr);
    echo "<br/><br/>";
    
    //不指定第二个参数
    parse_str($urlarr['query']);
    echo $uid."<br/>";
    echo $pages."<br/>";
    echo $category."<br/>";
    
    ?>

    代码运行结果:

    4.jpg

    可以看出,设置第二个参数与不设置第二个参数,获取解析的值的方法有所不同。

    设置第二个参数,我们可以直接以数组形式输出解析的查询字符串。

    没有设置第二个参数,需要以查询字符串的参数名称作为变量名来获取值。

    php parse_url

    php parse_url函数解析一个 URL 并返回一个关联数组,包含在 URL 中出现的各种组成部分。

    本函数不是用来验证给定 URL 的合法性的,只是将其分解为下面列出的部分。不完整的 URL 也被接受,parse_url() 会尝试尽量正确地将其解析。

    请看下面实例:

    <?
    $test = parse_url("//m.sbmmt.com/index.php?name=tank&sex=1#top");
    print_r($test);
    ?>

    代码运行结果:

    5.jpg

    我们也可以这样使用该函数:

    <?php
    header("content-type:text/html;charset=utf-8");
    $url ="//m.sbmmt.com/index.php?name=tank&sex=1#top";
    echo "scheme:".parse_url($url,PHP_URL_SCHEME)."<br/>";
    echo "host:".parse_url($url,PHP_URL_HOST)."<br/>";
    echo "path:".parse_url($url,PHP_URL_PATH)."<br/>";
    echo "query:".parse_url($url,PHP_URL_QUERY)."<br/>";
    echo "fragment:".parse_url($url,PHP_URL_FRAGMENT)."<br/>";
    ?>

    代码运行结果:

    6.jpg

    【相关文章推荐】:

    1.详解php parse_url()函数的定义与用法

    2.实例讲解php parse_str()函数

    以上就是php parse_str()函数和parse_url()函数解析URL的区别的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:parse_str,parse_url
    上一篇:实例讲解php parse_str()函数的定义与用法 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 一文详解PHP实现职责链设计模式(附代码示例)• php实现通过JSON RPC与go通讯(附代码)• 浅析怎么使用PHP做异步爬取数据• PHP8.3要有新函数了!(json_validate函数说明)• 设计API接口时,要注意这些地方!
    1/1

    PHP中文网