$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);

解决方案 »

  1.   

    print_r($_GET);不是有现成的$_GET数组么?
      

  2.   

    $url = "http://www.XXX.com/vip.php?uid=1209&id=242&page=3&action=dispjob";
    $explode = explode("?",$url);
    $argument = explode("&",$explode[1]);
    print_r($argument);
      

  3.   

    $url = "http://www.XXX.com/vip.php?uid=1209&id=242&page=3&action=dispjob";
    $s = explode('?',$url);
    parse_str($s[1],$outPut);
    print_r($outPut);
      

  4.   

    parse_url
    (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:///...)。其它任何协议都不能这样。