php parse_url()函數和parse_str()函數
阿新 • • 發佈:2017-08-31
spa 缺少 http blog query sco art out port
1.parse_url():解析URL,並返回其組成部分
原型:mixed parse_url ( string $url [, int $component = -1 ] )
此函數返回一個關聯數組,包含現有 URL 的各種組成部分。如果缺少了其中的某一個,則不會為這個組成部分創建數組項。組成部分為:
- scheme - 如 http
- host
- port
- user
- pass
- path
- query - 在問號 ? 之後
- fragment - 在散列符號 # 之後
?php $url = ‘http://username:[email protected]:9090/path?arg=value#anchor‘;var_dump(parse_url($url)); var_dump(parse_url($url, PHP_URL_SCHEME)); var_dump(parse_url($url, PHP_URL_USER)); var_dump(parse_url($url, PHP_URL_PASS)); var_dump(parse_url($url, PHP_URL_HOST)); var_dump(parse_url($url, PHP_URL_PORT)); var_dump(parse_url($url, PHP_URL_PATH));var_dump(parse_url($url, PHP_URL_QUERY)); var_dump(parse_url($url, PHP_URL_FRAGMENT)); ?>
結果:array(8) { ["scheme"] => string(4) "http" ["host"] => string(8) "hostname" ["port"] => int(9090) ["user"] => string(8) "username" ["pass"] => string(8) "password" ["path"] => string(5) "/path" ["query"] => string(9) "arg=value" ["fragment"] => string(6) "anchor" }
如果有設置第二個參數,PHP_URL_SCHEME, PHP_URL_HOST, PHP_URL_PORT, PHP_URL_USER, PHP_URL_PASS, PHP_URL_PATH, PHP_URL_QUERY or PHP_URL_FRAGMENT。可以取出特定的部分。
2.parse_str():把查詢字符串解析到變量中。
原型:void parse_str ( string $encoded_string [, array &$result ] )
<?php $str = "first=value&arr[]=foo+bar&arr[]=baz"; // Recommended parse_str($str, $output); echo $output[‘first‘]; // value echo $output[‘arr‘][0]; // foo bar echo $output[‘arr‘][1]; // baz // DISCOURAGED parse_str($str); echo $first; // value echo $arr[0]; // foo bar echo $arr[1]; // baz ?>
php parse_url()函數和parse_str()函數