TShopping

標題: parse_url 指令解析網址 [打印本頁]

作者: woff    時間: 2011-8-19 18:45
標題: parse_url 指令解析網址
常常我們會傳送一大串網址,然後要解析的話,只能不斷地去切token來解析。但是在php中,一定要學會使用前人所寫過的函式,這樣開發速度才會快別人一截。當然,要解析網址的話,就得去找相關的指令,而今天要介紹的,就是php中的parse_url這個函式。

這個函式主要是用來解析網址,而首先先看一下這個函式原型,其官方描述如下:

mixed parse_url ( string $url [, int $component= -1 ] )
而php官方舉了一個例子,而我將他擴充如下,以方便講解。

  1. $url = 'http://username:password@hostname/path?arg1=value1&arg2=value2#anchor';
  2. print_r(parse_url($url));
複製代碼

首先,先看一下這個程式的輸出結果
  1. Array (
  2. [scheme] => http
  3. [host] => hostname
  4. [user] => username
  5. [pass] => password
  6. [path] => /path
  7. [query] => arg1=value1&arg2=value2
  8. [fragment] => anchor )
複製代碼

其中,scheme是指他走的路線,而host則是站台網址,user則是使用者名稱,pass則是密碼,path則是路徑,query則是參數,fragment則是錨點。

而在「$component」的部份,則是有以下的參數可供傳遞。

PHP_URL_SCHEME
PHP_URL_HOST
PHP_URL_USER
PHP_URL_PASS
PHP_URL_PATH
PHP_URL_QUERY
PHP_URL_FRAGMENT

而這幾個參數則分別代表了Array中的scheme、host、user、pass、path、query和fragment。

同樣,舉例來說,如果使用PHP_URL_PATH和PHP_URL_QUERY來說,以下為他的示範。


  1. $url = 'http://username:password@hostname/path?arg1=value1&arg2=value2#anchor';
  2. echo nl2br(parse_url($url, PHP_URL_PATH)."\n");
  3. echo nl2br(parse_url($url, PHP_URL_QUERY)."\n");
複製代碼


而輸出結果將如下:
/path
arg1=value1&arg2=value2
參考網頁:php:parse_url




歡迎光臨 TShopping (http://www.tshopping.com.tw/) Powered by Discuz! X3.2