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:password@hostname: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()函数
原文地址:http://www.cnblogs.com/laining/p/7457750.html