获取百度 搜索关键字的关键在于获取访问跳转url 在百度搜索中会自带关键字 word或者wd 通过获得跳转url $_SERVER['HTTP_REFERER'] 来正则匹配出关键字
public function search_word_from($referer) {
// $referer = isset($_SERVER['HTTP_REFERER'])?$_SERVER['HTTP_REFERER']:'';
if(strstr( $referer, 'baidu.com')){ //百度
preg_match( "|baidu.+wo?r?d=([^\\&]*)|is", $referer, $tmp );
if(isset($tmp[1])){
$keyword = urldecode( $tmp[1] );
$from = 'baidu';
}else{
$keyword ='';
$from = '';
}
}elseif(strstr( $referer, 'google.com') or strstr( $referer, 'google.cn')){ //谷歌
preg_match( "|google.+q=([^\\&]*)|is", $referer, $tmp );
if(isset($tmp[1])){
$keyword = urldecode( $tmp[1] );
$from = 'google';
}else{
$keyword ='';
$from = '';
}
}elseif(strstr( $referer, 'so.com')){ //360搜索
preg_match( "|so.+q=([^\\&]*)|is", $referer, $tmp );
if(isset($tmp[1])){
$keyword = urldecode( $tmp[1] );
$from = '360';
}else{
$keyword ='';
$from = '';
}
}elseif(strstr( $referer, 'sogou.com')){ //搜狗
preg_match( "|sogou.com.+query=([^\\&]*)|is", $referer, $tmp );
if(isset($tmp[1])){
$keyword = urldecode( $tmp[1] );
$from = 'sogou';
}else{
$keyword ='';
$from = '';
}
}elseif(strstr( $referer, 'soso.com')){ //搜搜
preg_match( "|soso.com.+w=([^\\&]*)|is", $referer, $tmp );
if(isset($tmp[1])){
$keyword = urldecode( $tmp[1] );
$from = 'soso';
}else{
$keyword ='';
$from = '';
}
}else {
$keyword ='';
$from = '';
}
return array('keyword'=>$keyword,'from'=>$from);
}

3个6