parse_url

(PHP 4, PHP 5, PHP 7)

parse_url锟斤拷锟斤拷 URL锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷刹锟斤拷锟�

说锟斤拷

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

锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷一锟斤拷 URL 锟斤拷锟斤拷锟斤拷一锟斤拷锟斤拷锟斤拷锟斤拷锟介,锟斤拷锟斤拷锟斤拷 URL 锟叫筹拷锟街的革拷锟斤拷锟斤拷刹锟斤拷帧锟�

锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷证锟斤拷锟斤拷 URL 锟侥合凤拷锟皆的o拷只锟角斤拷锟斤拷纸锟轿拷锟斤拷锟斤拷谐锟斤拷牟锟斤拷帧锟斤拷锟斤拷锟斤拷锟斤拷锟� URL 也锟斤拷锟斤拷锟杰o拷parse_url() 锟结尝锟皆撅拷锟斤拷锟斤拷确锟截斤拷锟斤拷锟斤拷锟斤拷锟�

锟斤拷锟斤拷

url

要锟斤拷锟斤拷锟斤拷 URL锟斤拷锟斤拷效锟街凤拷锟斤拷使锟斤拷 _ 锟斤拷锟芥换锟斤拷

component

指锟斤拷 PHP_URL_SCHEME锟斤拷 PHP_URL_HOST锟斤拷 PHP_URL_PORT锟斤拷 PHP_URL_USER锟斤拷 PHP_URL_PASS锟斤拷 PHP_URL_PATH锟斤拷 PHP_URL_QUERY 锟斤拷 PHP_URL_FRAGMENT 锟斤拷锟斤拷锟斤拷一锟斤拷锟斤拷锟斤拷取 URL 锟斤拷指锟斤拷锟侥诧拷锟街碉拷 string锟斤拷 锟斤拷锟斤拷锟斤拷指锟斤拷为 PHP_URL_PORT 锟襟,斤拷锟斤拷锟斤拷一锟斤拷 integer 锟斤拷值锟斤拷锟斤拷

锟斤拷锟斤拷值

锟斤拷锟斤拷锟截诧拷锟较革拷锟� URL锟斤拷parse_url() 锟斤拷锟杰会返锟斤拷 FALSE锟斤拷

锟斤拷锟绞★拷锟斤拷锟� component 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷一锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 array锟斤拷锟斤拷目前锟斤拷锟劫伙拷锟斤拷一锟斤拷元锟斤拷锟节革拷锟斤拷锟斤拷锟叫★拷锟斤拷锟斤拷锟叫匡拷锟杰的硷拷锟斤拷锟斤拷锟铰硷拷锟街o拷

  • scheme - 锟斤拷 http
  • host
  • port
  • user
  • pass
  • path
  • query - 锟斤拷锟绞猴拷 ? 之锟斤拷
  • fragment - 锟斤拷散锟叫凤拷锟斤拷 # 之锟斤拷

锟斤拷锟街革拷锟斤拷锟� component 锟斤拷锟斤拷锟斤拷 parse_url() 锟斤拷锟斤拷一锟斤拷 string 锟斤拷锟斤拷锟斤拷指锟斤拷为 PHP_URL_PORT 时锟斤拷锟斤拷一锟斤拷 integer锟斤拷锟斤拷锟斤拷锟斤拷 array锟斤拷锟斤拷锟� URL 锟斤拷指锟斤拷锟斤拷锟斤拷刹锟斤拷植锟斤拷锟斤拷冢锟斤拷锟斤拷岱碉拷锟� NULL锟斤拷

锟斤拷锟斤拷锟斤拷志

锟芥本 说锟斤拷
5.4.7 锟睫革拷锟斤拷 host 锟斤拷 协锟斤拷 省锟斤拷时锟斤拷识锟斤拷
5.3.3 锟斤拷 URL 锟斤拷锟斤拷失锟斤拷时锟斤拷锟斤拷锟斤拷锟斤拷锟� E_WARNING 锟斤拷锟斤拷拇锟斤拷锟�
5.1.2 锟斤拷锟斤拷锟剿诧拷锟斤拷 component锟斤拷

锟斤拷锟斤拷

Example #1 parse_url() 锟斤拷锟斤拷

<?php
$url 
'http://username:password@hostname/path?arg=value#anchor';

print_r(parse_url($url));

echo 
parse_url($urlPHP_URL_PATH);
?>

锟斤拷锟斤拷锟斤拷锟教伙拷锟斤拷锟斤拷锟�

Array
(
    [scheme] => http
    [host] => hostname
    [user] => username
    [pass] => password
    [path] => /path
    [query] => arg=value
    [fragment] => anchor
)
/path

Example #2 parse_url() 锟斤拷锟斤拷锟斤拷失协锟斤拷锟斤拷锟斤拷锟�

<?php
$url 
'//www.example.com/path?googleguy=googley';

// 锟斤拷 5.4.7 之前锟斤拷锟斤拷锟斤拷路锟斤拷 "//www.example.com/path"
var_dump(parse_url($url));
?>

锟斤拷锟斤拷锟斤拷锟教伙拷锟斤拷锟斤拷锟�

array(3) {
  ["host"]=>
  string(15) "www.example.com"
  ["path"]=>
  string(5) "/path"
  ["query"]=>
  string(17) "googleguy=googley"
}

注锟斤拷

Note:

锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟� URL锟斤拷

Note:

parse_url() 锟斤拷专锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 URL 锟斤拷锟斤拷锟斤拷 URI 锟侥★拷锟斤拷锟斤拷为锟斤拷锟� PHP 锟斤拷锟斤拷锟捷碉拷锟斤拷要锟叫革拷锟斤拷锟解,锟斤拷 file:// 协锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷斜锟竭o拷file:///...锟斤拷锟斤拷锟斤拷锟斤拷锟轿猴拷协锟介都锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷

锟轿硷拷

  • pathinfo() - 锟斤拷锟斤拷锟侥硷拷路锟斤拷锟斤拷锟斤拷息
  • parse_str() - 锟斤拷锟街凤拷锟斤拷锟斤拷锟斤拷锟缴讹拷锟斤拷锟斤拷锟�
  • http_build_query() - 锟斤拷锟斤拷 URL-encode 之锟斤拷锟斤拷锟斤拷锟斤拷址锟斤拷锟�
  • http_build_url()
  • dirname() - 锟斤拷锟斤拷路锟斤拷锟叫碉拷目录锟斤拷锟斤拷
  • basename() - 锟斤拷锟斤拷路锟斤拷锟叫碉拷锟侥硷拷锟斤拷锟斤拷锟斤拷
  • » RFC 3986