国产视频appPHP中有時候需要對URL進行解析,并返回一些關于URL信息的數據,雖然有很多方法可以實現,但在PHP中給我們提供了,一個簡單的函數parse_url(),利用parse_url()這個函數,我們可以很輕松的解板一個函數,并做出相應的處理,那么今天飛鳥慕魚的小編就說一說關于parse_url()函數的說明以及用法。

parse_url()函數說明

parse_url()函數:此函數可以解析一個 URL 并返回一個關聯數組,包含在 URL 中出現的各種組成部分。

国产视频app注意:本函數不是用來驗證給定 URL 的合法性的,只是將其分解成為數組(下在有實例說明)。不完整的 URL也可被接受,parse_url() 會嘗試盡量正確地將其解析。

舉例說明

利用parse_url()函數分解一個URL,并打印出被分解的部份

parse_url()函數使用代碼

<?php
//飛鳥慕魚博客
$test = parse_url("http://feiniaomy.com/index.php?name=tank&sex=1#top");
//打印這個數組
print_r($test);
?>

代碼示意圖

php中parse_url()函數使用與解析URL實例

代碼動行結果

Array ( [scheme] => http [host] => feiniaomy.com [path] => /index.php [query] => name=tank&sex=1 [fragment] => top )

我們格式化一下這個運行結果,并標明每個元素所代表的意思

Array 
( 
    [scheme] => http  ////使用什么協議
    [host] => feiniaomy.com  //主機名
    [path] => /index.php //路徑
    [query] => name=tank&sex=1 //提交的參數
    [fragment] => top //錨點
)

這樣,是不是能很明顯的看出,數組中每個參數的所代表的意思了呢?

如果不是很明白,我們可以換一種方式,來解析這個URL。

parse_url()函數解析URL的方法2

代碼

<?php
//飛鳥慕魚博客
$test ="http://feiniaomy.com/index.php?name=tank&sex=1#top";
echo "scheme:".parse_url($test,PHP_URL_SCHEME)."<br/>";
echo "host:".parse_url($test,PHP_URL_HOST)."<br/>";
echo "path:".parse_url($test,PHP_URL_PATH)."<br/>";
echo "query:".parse_url($test,PHP_URL_QUERY)."<br/>";
echo "fragment:".parse_url($test,PHP_URL_FRAGMENT)."<br/>";
?>

代碼圖示

php中parse_url()函數使用與解析URL實例

代碼運行結果

scheme:http
host:feiniaomy.com
path:/index.php
query:name=tank&sex=1
fragment:top

parse_url()與parse_url()函數結合使用

一般我們利用parse_url()函數解析一個URL的時候,需要提取URL內要提交的參數,我們說用到了parse_url()函數來參數了。

關于parse_url()函數的使用,請參考《php使用parse_str實現查詢字符串解析到變量中的方法

parse_url()parse_url()函數結合使用實例

代碼

<?php
//飛鳥慕魚博客
$test = parse_url("http://feiniaomy.com/index.php?name=tank&sex=1#top");
parse_str($test['query'],$parr);//獲取URL中的參數,并賦值到$parr數組中
print_r($parr);//打印數組
?>

代碼圖示

php中parse_url()函數使用與解析URL實例

代碼運行結果

Array ( [name] => tank [sex] => 1 )

通過上面的實例,大家是不是感覺通過parse_url()parse_url()函數結合使用,可以很方便的獲取到一個已知帶有參數的的URL中的參數呢?