简单的说给一个字符串http://www.baidu.com/s?wd=%B9%AB%CB%BE&cl=3用正则得到
"%B9%AB%CB%BE"这个串。
但是这个正则要适用于多个搜索引擎比如baidu的是wd=%B9%AB%CB%BE
sohu的是query=%B9%AB%CB%BE,等等

解决方案 »

  1.   

    所以你并不是要得到特定的“=%B9%AB%CB%BE”而是要得到做为查询字的串。对于
    http://www.google.com/search?sourceid=navclient&ie=UTF-8&rls=DVXA,DVXA:2004-42,DVXA:en&q=%E5%85%AC%E5%8F%B8,你要得到“%E5%85%AC%E5%8F%B8”,是这样的吧?<?php
    $t = <<< TEXT
    http://www.google.com/search?sourceid=navclient&ie=UTF-8&rls=DVXA,DVXA:2004-42,DVXA:en&q=%E5%85%AC%E5%8F%B8http://www.baidu.com/s?wd=%B9%AB%CB%BE&cl=3http://search.sohu.com/web?query=%B9%AB%CB%BEhttp://search.sina.com.cn/cgi-bin/search/search.cgi?_andor=and&title=&iask_value=&key=&_searchkey=%B9%AB%CB%BE&_ss=sina&_search=+%CB%D1+%CB%F7+&from=sinashttp://cn.websearch.yahoo.com/search/web_cn?stype=&p=%B9%AB%CB%BE&scch=on&ei=gb
    TEXT;preg_match_all("#http://([^/]+).*\b(q|wd|query|_searchkey|p)=(.+?)(?:&|$)#im",$t,$r);
    print_r($r);
    ?>