PHP获取各大搜索引擎URL中的搜索关键词函数【非常好】

发布时间:2010年09月16日      浏览次数:400 次
以下是我专用的PHP获取各大搜索引擎URL中的搜索关键词函数,因为一直在用,因此测试通过,代码无任何问题。
由于本人所使用的网页编码为uft-8,因此解析时,也是转换为此编码,如果网页使用其它编码方式的,请自行修改相关编码的转换函数(mb_convert_encoding后面的参数)
//获取指定搜索引擎URL的搜索关键词
function Get_search_key($form){
if(empty($form)){return null;}
list($enginer,$keys)=explode('?',trim($form));
$is_utf8=false;
parse_str($keys,$query);
if(strpos($enginer,'ucweb')!=false){
$Keyword= trim($query["word"]);      
            $str_luanma = urldecode(mb_convert_encoding(trim($Keyword),"utf-8","gb2312"));
            if ( str_replace("?","",$str_luanma) <> $str_luanma ){ //如果使用编码转换为乱码,则不转换
                  $is_utf8=true;      
            }else{
                  $is_utf8=false;      
            }
}elseif(strpos($enginer,'baidu')!=false){
$Keyword= $query["wd"]?$query["wd"]:$query["word"];
$is_utf8=(strtolower($query["ie"])=='utf-8')?true:false;
}elseif(strpos($enginer,'google')!=false){
$Keyword= $query["q"];
$is_utf8=(strtolower($query["ie"])=='gb2312'||strtolower($query["ie"])=='gb')?false:true;
}elseif(strpos($enginer,'soso')!=false){
$Keyword= $query["w"];
$is_utf8=false;
}elseif(strpos($enginer,'sogou')!=false){
$Keyword= $query["query"];
$is_utf8=false;
}elseif(strpos($enginer,'youdao')!=false){
$Keyword= $query["q"];
$is_utf8=(strtolower($query["ue"])=='gb2312')?false:true;
}elseif(strpos($enginer,'bing')!=false){
$Keyword= $query["q"];
$is_utf8=true;
}else{
$Keyword=null;
}
return urldecode($is_utf8 ? $Keyword : mb_convert_encoding(trim($Keyword),"utf-8","gb2312"));
}
文章来源:桂林视窗原创
免责声明:本站相关技术文章信息部分来自网络,目的主要是传播更多信息,如果您认为本站的某些信息侵犯了您的版权,请与我们联系,我们会即时妥善的处理,谢谢合作!