$url="http://www.XXX.com/vip.php?uid=1209&id=242&page=3&action=dispjob&xx#xxx";
$ps = strrpos($url, "#");
$pq = strrpos($url, "?");
if($ps>$pq) $s = substr($url,$pq+1,$ps-$pq-1);
else $s = substr($url,$pq+1);
$arr = split("&",$s);
$result = array();
foreach($arr as $item){
$temp = split("=",$item);
if(sizeof($temp)==2) $result[$temp[0]] = $temp[1];
else $result[$temp[0]] = $temp[0];
}
print_r($result);
$ps = strrpos($url, "#");
$pq = strrpos($url, "?");
if($ps>$pq) $s = substr($url,$pq+1,$ps-$pq-1);
else $s = substr($url,$pq+1);
$arr = split("&",$s);
$result = array();
foreach($arr as $item){
$temp = split("=",$item);
if(sizeof($temp)==2) $result[$temp[0]] = $temp[1];
else $result[$temp[0]] = $temp[0];
}
print_r($result);
$explode = explode("?",$url);
$argument = explode("&",$explode[1]);
print_r($argument);
$s = explode('?',$url);
parse_str($s[1],$outPut);
print_r($outPut);
(PHP 3, PHP 4, PHP 5)parse_url -- 解析 URL,返回其组成部分
说明
array parse_url ( string url )
本函数解析一个 URL 并返回一个关联数组,包含在 URL 中出现的各种组成部分。 本函数不是用来验证给定 URL 的合法性的,只是将其分解为下面列出的部分。不完整的 URL 也被接受,parse_url() 会尝试尽量正确地将其解析。 参数
url
要解析的 URL
返回值
对严重不合格的 URL,parse_url() 可能会返回 FALSE 并发出 E_WARNING。否则会返回一个关联数组,其组成部分为(至少有一个):
scheme - 如 http host port user pass path query - 在问号 ? 之后 fragment - 在散列符号 # 之后
范例
例 1. parse_url() 例子<?php
$url = 'http://username:password@hostname/path?arg=value#anchor';print_r(parse_url($url));
?> 上例将输出:Array
(
[scheme] => http
[host] => hostname
[user] => username
[pass] => password
[path] => /path
[query] => arg=value
[fragment] => anchor
)
注释
注意: 本函数不能用于相对 URL。 注意: parse_url() 是专门用来解析 URL 而不是 URI 的。不过为遵从 PHP 向后兼容的需要有个例外,对 file:// 协议允许三个斜线(file:///...)。其它任何协议都不能这样。