parse_url — 解析 URL,返回其組成部分。
說明
array parse_url ( string $url )
本函數解析一個 URL 並返回一個關聯數組,包含在 URL 中出現的各類組成部分。
本函數不是用來驗證給定 URL 的合法性的,只是將其分解爲下面列出的部分。不完整的 URL 也被接受, parse_url() 會嘗試儘可能正確地將其解析。php
返回值:
對嚴重不合格的 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.
數組