parse_url

parse_url

parse_url 是一計算機函式,功能是解析一個 URL 並返回一個關聯數組,包含在 URL 中出現的各種組成部分。 本函式不是用來驗證給定 URL 的合法性的,只是將其分解為下面列出的部分。不完整的 URL 也被接受,parse_url() 會嘗試儘量正確地將其解析。

說明

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

本函式解析一個 URL 並返回一個關聯數組,包含在 URL 中出現的各種組成部分。

本函式不是用來驗證給定 URL 的合法性的,只是將其分解為下面列出的部分。不完整的 URL 也被接受,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 並發出 E_WARNING。否則會返回一個關聯數組,其組成部分為(至少有一個):

scheme - 如 http

host

port

user

pass

path

query - 在問號 ? 之後

fragment - 在散列符號 # 之後

範例

Example #1 parse_url() 例子

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

print_r(parse_url($url));

?>

以上例程會輸出:

Array

(

[scheme] => http

[host] => hostname

[user] => username

[pass] => password

[path] => /path

[query] => arg=value

[fragment] => anchor

)

注釋

Note:

本函式不能用於相對 URL。

Note:

parse_url() 是專門用來解析 URL 而不是 URI 的。不過為遵從 PHP 向後兼容的需要有個例外,對 file:// 協定允許三個斜線(file:///...)。其它任何協定都不能這樣。

參見

pathinfo() - 返回檔案路徑的信息

parse_str() - Parses the string into variables

dirname() - 返迴路徑中的目錄部分

basename() - 返迴路徑中的檔案名稱部分

相關詞條

熱門詞條

聯絡我們