parse_url — 解析 URL,返回其组成部门。
说明
array parse_url ( string $url )
本函数解析一个 URL 并返回一个关联数组,包罗在 URL 中出现的各种组成部门。
本函数不是用来验证给定 URL 的正当性的,只是将其分解为下面列出的部门。不完备的 URL 也被接受, parse_url() 会尝试尽量正确地将其解析。
返回值
对严重不合格的 URL, parse_url() 可能会返回 FALSE 并发出 E_WARNING。否则会返回一个关联数组,其组成部门为(至少有一个):
- scheme - 如 http
- host
- port
- user
- pass
- path
- query - 在问号 ? 之后
- fragment - 在散列符号 # 之后
举例子如下:
$url = "http://www.electrictoolbox.com/php-extract-domain-from-full-url/"; $parts = parse_url($url); 输出: Array ( [scheme] => http [host] => www.electrictoolbox.com [path] => /php-extract-domain-from-full-url/ )
又如:
$url = 'http://username:password@hostname/path?arg=value#anchor'; print_r(parse_url($url)); echo parse_url($url, PHP_URL_PATH); 输出: Array ( [scheme] => http [host] => hostname [user] => username [pass] => password [path] => /path [query] => arg=value [fragment] => anchor )
可以看到,可以很容易分解出一个URL的各个部,那如果要拿指定的部门出来的话也很容易,如
echo parse_url($url, PHP_URL_PATH);
就是在第二个参数中,设定如下的参数:
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. |