parse_url()是PHP中的一個內(nèi)置函數(shù),主要用于解析URL返回其組成部分,語法格式“parse_url($url,$component=-1)”;該函數(shù)解析一個URL ,并返回一個包含URL各種組成部分的關(guān)聯(lián)數(shù)組。
本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦
parse_url()函數(shù)是PHP中的一個內(nèi)置函數(shù),用于通過解析返回url的組件。它解析一個URL并返回一個包含其各個組件的關(guān)聯(lián)數(shù)組。
語法格式:
parse_url($url, $component = -1)
-
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 的值)。
返回值:
-
對嚴(yán)重不合格的 URL,parse_url() 可能會返回 false。
-
如果省略了 component 參數(shù),將返回一個關(guān)聯(lián)數(shù)組 array,在目前至少會有一個元素在該數(shù)組中。數(shù)組中可能的鍵有以下幾種:
-
scheme – 如 http
-
host
-
port
-
user
-
pass
-
path
-
query – 在問號 ? 之后
-
fragment – 在散列符號 # 之后
-
-
如果指定了 component 參數(shù), parse_url() 返回一個 string (或在指定為 PHP_URL_PORT 時(shí)返回一個 integer)而不是 array。如果 URL 中指定的組成部分不存在,將會返回 null。
示例:
<?php $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 ) /path
注意:
parse_url() 是專門用來解析 URL 而不是 URI 的。不過為遵從 PHP 向后兼容的需要有個例外,對 file:// 協(xié)議允許三個斜線(file:///…)。其它任何協(xié)議都不能這樣。
推薦學(xué)習(xí):《PHP視頻教程》