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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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:[email protected]: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
?>

 


以上是关于php parse_url()函数和parse_str()函数的主要内容,如果未能解决你的问题,请参考以下文章

php函数---parse_url函数

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

PHP parse_url函数示例

php parse_url linux 解析问题

解析url函数parse_url()

[单选题]parse_url()函数的功能是: