• php parse_url()函数和parse_str()函数


    1.parse_url():解析URL,并返回其组成部分

      原型:mixed parse_url ( string $url [, int $component = -1 ] )

    此函数返回一个关联数组,包含现有 URL 的各种组成部分。如果缺少了其中的某一个,则不会为这个组成部分创建数组项。组成部分为:

    • scheme - 如 http
    • host
    • port
    • user
    • pass
    • path
    • query - 在问号 ? 之后
    • fragment - 在散列符号 # 之后
    ?php
        $url = 'http://username:password@hostname:9090/path?arg=value#anchor';
    
        var_dump(parse_url($url));
        var_dump(parse_url($url, PHP_URL_SCHEME));
        var_dump(parse_url($url, PHP_URL_USER));
        var_dump(parse_url($url, PHP_URL_PASS));
        var_dump(parse_url($url, PHP_URL_HOST));
        var_dump(parse_url($url, PHP_URL_PORT));
        var_dump(parse_url($url, PHP_URL_PATH));
        var_dump(parse_url($url, PHP_URL_QUERY));
        var_dump(parse_url($url, PHP_URL_FRAGMENT));
    ?>
    结果:array(8) {     ["scheme"]  =>  string(4) "http"     ["host"]  =>  string(8) "hostname"     ["port"]  =>  int(9090)     ["user"]  =>  string(8) "username"     ["pass"]  =>  string(8) "password"     ["path"]  =>  string(5) "/path"     ["query"]  =>  string(9) "arg=value"     ["fragment"]  =>  string(6) "anchor" }

    如果有设置第二个参数,PHP_URL_SCHEME, PHP_URL_HOST, PHP_URL_PORT, PHP_URL_USER, PHP_URL_PASS, PHP_URL_PATH, PHP_URL_QUERY or PHP_URL_FRAGMENT。可以取出特定的部分。

    2.parse_str():把查询字符串解析到变量中。

      原型:void parse_str ( string $encoded_string [, array &$result ] )

    <?php
        $str = "first=value&arr[]=foo+bar&arr[]=baz";
    
        // Recommended
        parse_str($str, $output);
      echo $output['first'];  // value
      echo $output['arr'][0]; // foo bar
      echo $output['arr'][1]; // baz
    
      // DISCOURAGED
      parse_str($str);
      echo $first;  // value
      echo $arr[0]; // foo bar
      echo $arr[1]; // baz
    ?>
  • 相关阅读:
    使用国内镜像源安装kubelet kubeadm kubectl
    查看pod创建时使用yaml文件内容
    东离剑游记第三季下载地址
    Prometheus监控Nginx
    使用yum方式安装的openresty参数
    用prometheus监控Nginx
    MySQL之pt-query-digest分析慢查询日志的详情介绍
    内容渠道的贬值---阮一峰的网络日志
    Prometheus中使用的告警规则
    frpc穿透报错 日志显示 http: proxy error: no such domain 解决办法
  • 原文地址:https://www.cnblogs.com/laining/p/7457750.html
Copyright © 2020-2023  润新知