按照楼上方法获得访问来源就可以了.
不过要注意,百度和google的页面一个是UTF-8的,一个是GBK的,所以urlencode后的中文编码不一致.你需要注意下.

解决方案 »

  1.   

    这个我知道,我的意思是说怎么得到
    http://www.google.cn/search?complete=1&hl=zh-CN&q=%E6%88%91%E6%98%AF%E8%B0%81&meta=
    这个q的值
      

  2.   

    我的意思是得到q=%E6%88%91%E6%98%AF%E8%B0%81 中的%E6%88%91%E6%98%AF%E8%B0%81
      

  3.   

    http://www.baidu.com/s?lm=0&si=&rn=10&ie=gb2312&ct=0&wd=%CE%D2%CA%C7%CB%AD&pn=90&cl=3或者wd=%CE%D2%CA%C7%CB%AD中的wd的值
      

  4.   

    先以"&"为边界分解成数组,每个元素就是"key=value"这样的形式了
    $pattern = "/^(.+?)=([^$]*)/i";
    $key = preg_replace($pattern, "\\1", $str); // $str就是一个数组元素的值
    $value = preg_replace($pattern, "\\2", $str);大致上是这样,特殊形式没有考虑……
      

  5.   

    /******百度的*****/$str = "http://www.baidu.com/s?lm=0&si=&rn=10&ie=gb2312&ct=0&wd=%CE%D2%CA%C7%CB%AD&pn=90&cl=3";
    $queryarr = (parse_url($str));
    parse_str ($queryarr[query]);
    echo $wd;/*******google的******/
    $str = "http://www.google.cn/search?complete=1&hl=zh-CN&q=%E6%88%91%E6%98%AF%E8%B0%81&meta=
    ";
    $queryarr = (parse_url($str));
    parse_str ($queryarr[query]);
    echo $q;