[php] 2025-01-17 圈点207
摘要:parse_url可以很容易分解出一个URL的各个部,如果没有最后一个参数,可以返回整个数组,指定最后一个参数可以返回对应的字符串.
parse_url函数原型:
parse_url ( string $url [, int $component = -1 ] )
说明:
parse_url() 函数可以解析一个字符串的URL,并返回一个包含URL 各种组成部分关联数组。如果缺少了其中的某一个,则不会为这个组成部分创建数组项。
组成部分有:
scheme - 如 http
host
port
user
pass
path
query - 在问号 ? 之后
fragment - 在散列符号 # 之后
举例1:
$url = 'http://username:password@hostname/path?a=va&b=vb#anchor';
var_dump(parse_url($url));
结果为:
Array
(
[scheme] => http
[host] => hostname
[user] => username
[pass] => password
[path] => path
[query] => a=va&b=vb
[fragment] => anchor
举例2:
$url = 'http://www.xoxxoo.com/article/show/i/383.html';
var_dump(parse_url($url));
结果为:
Array
(
[scheme] => "http"
[host] => "www.xoxxoo.com"
[path] => "/article/show/i/383.html"
注意:
上面例子中的URL都是正常的。但此函数并不意味着给定的 URL 是合法的,它只是将上方列表中的各部分分开。parse_url() 可接受不完整的 URL,并尽量将其解析正确。如果是不合法的严重错误的URL,将返回false或者Null(如果指定了最后一个参数)
最后一个参数的值可以为:
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
表示返回对应的字符串,而不是返回一个数组!
举例:
parse_url("http://www.xoxxoo.com/article/show/i/383.html",PHP_URL_HOST);
将返回一个字符串 :"www.xoxxoo.com"
总结:
parse_url可以很容易分解出一个URL的各个部,如果没有最后一个参数,可以返回整个数组,指定最后一个参数可以返回对应的字符串.