php中使用parse_url()對(duì)網(wǎng)址進(jìn)行解析的實(shí)現(xiàn)代碼(parse_url詳解)
更新時(shí)間:2012年01月03日 12:23:20 作者:
parse_url用來解析一個(gè) URL 并返回一個(gè)關(guān)聯(lián)數(shù)組,包含在 URL 中出現(xiàn)的各種組成部分
PHP 解析 URL函數(shù): parse_url詳解
parse_url — 解析 URL,返回其組成部分
說明
array parse_url ( string $url )
本函數(shù)解析一個(gè) URL 并返回一個(gè)關(guān)聯(lián)數(shù)組,包含在 URL 中出現(xiàn)的各種組成部分。
本函數(shù)不是用來驗(yàn)證給定 URL 的合法性的,只是將其分解為下面列出的部分。不完整的 URL 也被接受,parse_url() 會(huì)嘗試盡量正確地將其解析。
參數(shù)
url
要解析的 URL
返回值
對(duì)嚴(yán)重不合格的 URL,parse_url() 可能會(huì)返回 FALSE 并發(fā)出 E_WARNING。否則會(huì)返回一個(gè)關(guān)聯(lián)數(shù)組,其組成部分為(至少有一個(gè)):
scheme – 如 http
host
port
user
pass
path
query – 在問號(hào) ? 之后
fragment – 在散列符號(hào) # 之后
范例
parse_url() 例子
<?php
$url = 'http://username:password@hostname/path?arg=value#anchor';
print_r(parse_url($url));
?>
以上例程會(huì)輸出:
Array
(
[scheme] => http
[host] => hostname
[user] => username
[pass] => password
[path] => /path
[query] => arg=value
[fragment] => anchor
)
常常我們會(huì)傳送一大串網(wǎng)址,然后要解析的話,只能不斷地去切token來解析。但是在php中,一定要學(xué)會(huì)使用前人所寫過的函式,這樣開發(fā)速度才會(huì)快別人一截。當(dāng)然,要解析網(wǎng)址的話,就得去找相關(guān)的指令,而今天要介紹的,就是php中的parse_url這個(gè)函式。
這個(gè)函式主要是用來解析網(wǎng)址,而首先先看一下這個(gè)函式原型,其官方描述如下:
mixed parse_url ( string $url [, int $component= -1 ] )
而php官方舉了一個(gè)例子,而我將他擴(kuò)充如下,以方便講解。
<?php
$url = 'http://username:password@hostname/path?arg1=value1&arg2=value2#anchor';
print_r(parse_url($url));
?>
首先,先看一下這個(gè)程式的輸出結(jié)果
Array (
[scheme] => http
[host] => hostname
[user] => username
[pass] => password
[path] => /path
[query] => arg1=value1&arg2=value2
[fragment] => anchor
)
其中,scheme是指他走的路線,而host則是站臺(tái)網(wǎng)址,user則是使用者名稱,pass則是密碼,path則是路徑,query則是參數(shù),fragment則是錨點(diǎn)。
而在「$component」的部份,則是有以下的參數(shù)可供傳遞。
PHP_URL_SCHEME
PHP_URL_HOST
PHP_URL_USER
PHP_URL_PASS
PHP_URL_PATH
PHP_URL_QUERY
PHP_URL_FRAGMENT
而這幾個(gè)參數(shù)則分別代表了Array中的scheme、host、user、pass、path、query和fragment。
同樣,舉例來說,如果使用PHP_URL_PATH和PHP_URL_QUERY來說,以下為他的示范。
<?php
$url = 'http://username:password@hostname/path?arg1=value1&arg2=value2#anchor'; echo nl2br(parse_url($url, PHP_URL_PATH)."\n");
echo nl2br(parse_url($url, PHP_URL_QUERY)."\n");
?>
而輸出結(jié)果將如下:
/path
arg1=value1&arg2=value2
parse_url — 解析 URL,返回其組成部分
說明
array parse_url ( string $url )
本函數(shù)解析一個(gè) URL 并返回一個(gè)關(guān)聯(lián)數(shù)組,包含在 URL 中出現(xiàn)的各種組成部分。
本函數(shù)不是用來驗(yàn)證給定 URL 的合法性的,只是將其分解為下面列出的部分。不完整的 URL 也被接受,parse_url() 會(huì)嘗試盡量正確地將其解析。
參數(shù)
url
要解析的 URL
返回值
對(duì)嚴(yán)重不合格的 URL,parse_url() 可能會(huì)返回 FALSE 并發(fā)出 E_WARNING。否則會(huì)返回一個(gè)關(guān)聯(lián)數(shù)組,其組成部分為(至少有一個(gè)):
scheme – 如 http
host
port
user
pass
path
query – 在問號(hào) ? 之后
fragment – 在散列符號(hào) # 之后
范例
parse_url() 例子
復(fù)制代碼 代碼如下:
<?php
$url = 'http://username:password@hostname/path?arg=value#anchor';
print_r(parse_url($url));
?>
以上例程會(huì)輸出:
Array
(
[scheme] => http
[host] => hostname
[user] => username
[pass] => password
[path] => /path
[query] => arg=value
[fragment] => anchor
)
常常我們會(huì)傳送一大串網(wǎng)址,然后要解析的話,只能不斷地去切token來解析。但是在php中,一定要學(xué)會(huì)使用前人所寫過的函式,這樣開發(fā)速度才會(huì)快別人一截。當(dāng)然,要解析網(wǎng)址的話,就得去找相關(guān)的指令,而今天要介紹的,就是php中的parse_url這個(gè)函式。
這個(gè)函式主要是用來解析網(wǎng)址,而首先先看一下這個(gè)函式原型,其官方描述如下:
mixed parse_url ( string $url [, int $component= -1 ] )
而php官方舉了一個(gè)例子,而我將他擴(kuò)充如下,以方便講解。
復(fù)制代碼 代碼如下:
<?php
$url = 'http://username:password@hostname/path?arg1=value1&arg2=value2#anchor';
print_r(parse_url($url));
?>
首先,先看一下這個(gè)程式的輸出結(jié)果
Array (
[scheme] => http
[host] => hostname
[user] => username
[pass] => password
[path] => /path
[query] => arg1=value1&arg2=value2
[fragment] => anchor
)
其中,scheme是指他走的路線,而host則是站臺(tái)網(wǎng)址,user則是使用者名稱,pass則是密碼,path則是路徑,query則是參數(shù),fragment則是錨點(diǎn)。
而在「$component」的部份,則是有以下的參數(shù)可供傳遞。
PHP_URL_SCHEME
PHP_URL_HOST
PHP_URL_USER
PHP_URL_PASS
PHP_URL_PATH
PHP_URL_QUERY
PHP_URL_FRAGMENT
而這幾個(gè)參數(shù)則分別代表了Array中的scheme、host、user、pass、path、query和fragment。
同樣,舉例來說,如果使用PHP_URL_PATH和PHP_URL_QUERY來說,以下為他的示范。
復(fù)制代碼 代碼如下:
<?php
$url = 'http://username:password@hostname/path?arg1=value1&arg2=value2#anchor'; echo nl2br(parse_url($url, PHP_URL_PATH)."\n");
echo nl2br(parse_url($url, PHP_URL_QUERY)."\n");
?>
而輸出結(jié)果將如下:
/path
arg1=value1&arg2=value2
您可能感興趣的文章:
- php使用parse_url和parse_str解析URL
- 解析php擴(kuò)展php_curl.dll不加載的解決方法
- 解析PHP 使用curl提交json格式數(shù)據(jù)
- 解析php中獲取url與物理路徑的總結(jié)
- 解析php中curl_multi的應(yīng)用
- PHP獲取當(dāng)前url的具體方法全面解析
- php解析url并得到url中的參數(shù)及獲取url參數(shù)的四種方式
- 解析如何去掉CodeIgniter URL中的index.php
- php curl的深入解析
- php使用函數(shù)pathinfo()、parse_url()和basename()解析URL
相關(guān)文章
PHP長(zhǎng)連接實(shí)現(xiàn)與使用方法詳解
這篇文章主要介紹了PHP長(zhǎng)連接實(shí)現(xiàn)與使用方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了php長(zhǎng)連接的概念、功能、實(shí)現(xiàn)與使用方法,需要的朋友可以參考下2018-02-02用php來限制每個(gè)ip每天瀏覽頁面數(shù)量的實(shí)現(xiàn)思路
這篇文章主要介紹了用php來限制每個(gè)ip每天瀏覽頁面數(shù)量的實(shí)現(xiàn)思路,需要的朋友可以參考下2015-02-02PHP實(shí)現(xiàn)sha-256哈希算法實(shí)例代碼
最近在PHP項(xiàng)目中使用到了hmac_sha256加密方式,下面這篇文章主要給大家介紹了關(guān)于PHP實(shí)現(xiàn)sha-256哈希算法的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-01-01PHP實(shí)現(xiàn)的redis主從數(shù)據(jù)庫狀態(tài)檢測(cè)功能示例
這篇文章主要介紹了PHP實(shí)現(xiàn)的redis主從數(shù)據(jù)庫狀態(tài)檢測(cè)功能,涉及php針對(duì)多個(gè)redis主從數(shù)據(jù)庫的連接、檢測(cè)、錯(cuò)誤信息輸出及郵件發(fā)送相關(guān)操作技巧,需要的朋友可以參考下2017-07-07php中使用array_filter()函數(shù)過濾數(shù)組實(shí)例講解
在本篇文章里小編給大家分享的是一篇關(guān)于php中使用array_filter()函數(shù)過濾數(shù)組實(shí)例講解,有興趣的朋友們可以學(xué)習(xí)下。2021-03-03php找出指定范圍內(nèi)回文數(shù)且平方根也是回文數(shù)的方法
這篇文章主要介紹了php找出指定范圍內(nèi)回文數(shù)且平方根也是回文數(shù)的方法,實(shí)例分析了php判斷回文的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03