php获取搜索引擎名称,php获取搜索引擎关键字来源(支持百度、谷歌等搜索引擎)的函数...

代码:

复制代码 代码示例:

//获取来自搜索引擎入站关键词

//by www.jbxue.com

function get_keyword($url,$kw_start)

{

$start=stripos($url,$kw_start);

$url=substr($url,$start+strlen($kw_start));

$start=stripos($url,'&');

if ($start>0)

{

$start=stripos($url,'&');

$s_s_keyword=substr($url,0,$start);

}

else

{

$s_s_keyword=substr($url,0);

}

return $s_s_keyword;

}

$url=isset($_SERVER['HTTP_REFERER'])?$_SERVER['HTTP_REFERER']:'';//获取入站url。

$search_1="google.com"; //q= utf8

$search_2="baidu.com"; //wd= gbk

$search_3="yahoo.cn"; //q= utf8

$search_4="sogou.com"; //query= gbk

$search_5="soso.com"; //w= gbk

$search_6="bing.com"; //q= utf8

$search_7="youdao.com"; //q= utf8

$google=preg_match("/\b{$search_1}\b/",$url);//记录匹配情况,用于入站判断。

$baidu=preg_match("/\b{$search_2}\b/",$url);

$yahoo=preg_match("/\b{$search_3}\b/",$url);

$sogou=preg_match("/\b{$search_4}\b/",$url);

$soso=preg_match("/\b{$search_5}\b/",$url);

$bing=preg_match("/\b{$search_6}\b/",$url);

$youdao=preg_match("/\b{$search_7}\b/",$url);

$s_s_keyword="";

$bul=$_SERVER['HTTP_REFERER'];

//获取没参数域名

preg_match('@^(?:http://)?([^/]+)@i',$bul,$matches);

$burl=$matches[1];

//匹配域名设置

$curl="www.jbxue.com";

if($burl!=$curl){

if ($google)

{//来自google

$s_s_keyword=get_keyword($url,'q=');//关键词前的字符为"q="。

$s_s_keyword=urldecode($s_s_keyword);

$urlname="谷歌:";

$_SESSION["urlname"]=$urlname;

$_SESSION["s_s_keyword"]=$s_s_keyword;

//$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//引擎为gbk

}

else if($baidu)

{//来自百度

$s_s_keyword=get_keyword($url,'wd=');//关键词前的字符为"wd="。

$s_s_keyword=urldecode($s_s_keyword);

$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//引擎为gbk

$urlname="百度:";

$_SESSION["urlname"]=$urlname;

$_SESSION["s_s_keyword"]=$s_s_keyword;

}

else if($yahoo)

{//来自雅虎

$s_s_keyword=get_keyword($url,'q=');//关键词前的字符为"q="。

$s_s_keyword=urldecode($s_s_keyword);

//$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//引擎为gbk

$urlname="雅虎:";

$_SESSION["urlname"]=$urlname;

$_SESSION["s_s_keyword"]=$s_s_keyword;

}

else if($sogou)

{//来自搜狗

$s_s_keyword=get_keyword($url,'query=');//关键词前的字符为"query="。

$s_s_keyword=urldecode($s_s_keyword);

$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//引擎为gbk

$urlname="搜狗:";

$_SESSION["urlname"]=$urlname;

$_SESSION["s_s_keyword"]=$s_s_keyword;

}

else if($soso)

{//来自搜搜

$s_s_keyword=get_keyword($url,'w=');//关键词前的字符为"w="。

$s_s_keyword=urldecode($s_s_keyword);

$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//引擎为gbk

$urlname="搜搜:";

$_SESSION["urlname"]=$urlname;

$_SESSION["s_s_keyword"]=$s_s_keyword;

}

else if($bing)

{//来自必应

$s_s_keyword=get_keyword($url,'q=');//关键词前的字符为"q="。

$s_s_keyword=urldecode($s_s_keyword);

//$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//引擎为gbk

$urlname="必应:";

$_SESSION["urlname"]=$urlname;

$_SESSION["s_s_keyword"]=$s_s_keyword;

}

else if($youdao)

{//来自有道

$s_s_keyword=get_keyword($url,'q=');//关键词前的字符为"q="。

$s_s_keyword=urldecode($s_s_keyword);

//$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//引擎为gbk

$urlname="有道:";

$_SESSION["urlname"]=$urlname;

$_SESSION["s_s_keyword"]=$s_s_keyword;

}

else{

$urlname=$burl;

$s_s_keyword="";

$_SESSION["urlname"]=$urlname;

$_SESSION["s_s_keyword"]=$s_s_keyword;

}

$s_urlname=$urlname;

$s_urlkey=$s_s_keyword;

}

else{

$s_urlname=$_SESSION["urlname"];

$s_urlkey=$_SESSION["s_s_keyword"];

}

?>

说明:在处理时,记得处理好编码的问题,因为不同的搜索引擎,返回的结果,有的可能是GBK,有的则可能是UTF-8格式的内容。

函数2,这个也不错,大家可以试试。

代码如下:

复制代码 代码示例:

//获取搜索引擎的入口关键字

$_SERVER['HTTP_REFERER']='http://www.baidu.com/s?wd=http://www.jbxue.com';

echo save_www_iiwnet_com_keyword('http://www.baidu.com/s?wd=http://www.jbxue.com','http://www.baidu.com/s?wd=http://www.jbxue.com');

function save_www_iiwnet_com_keyword($domain,$path){

if(strpos($domain, 'google.com.tw')!==false && preg_match('/q=([^&]*)/i',$path,$regs)){

$searchengine = 'GOOGLE TAIWAN';

$keywords = urldecode($regs[1]); // google taiwan

}

if(strpos($domain,'google.cn')!==false && preg_match('/q=([^&]*)/i',$path,$regs)){

$searchengine = 'GOOGLE CHINA';

$keywords = urldecode($regs[1]); // google china

}

if(strpos($domain,'google.com')!==false && preg_match('/q=([^&]*)/i',$path,$regs)){

$searchengine = 'GOOGLE';

$keywords = urldecode($regs[1]); // google

}elseif(strpos($domain,'baidu.')!==false && preg_match('/wd=([^&]*)/i',$path,$regs)){

$searchengine = 'BAIDU';

$keywords = urldecode($regs[1]); // baidu

}elseif(strpos($domain,'baidu.')!==false && preg_match('/word=([^&]*)/i',$path,$regs)){

$searchengine = 'BAIDU';

$keywords = urldecode($regs[1]); // baidu

}elseif(strpos($domain,'114.vnet.cn')!== false && preg_match('/kw=([^&]*)/i',$path,$regs)){

$searchengine = 'CT114';

$keywords = urldecode($regs[1]); // ct114

}elseif(strpos($domain,'iask.com')!==false && preg_match('/k=([^&]*)/i',$path,$regs)){

$searchengine = 'IASK';

$keywords = urldecode($regs[1]); // iask

}elseif(strpos($domain,'soso.com')!==false && preg_match('/w=([^&]*)/i',$path,$regs)){

$searchengine = 'SOSO';

$keywords = urldecode($regs[1]); // soso

}elseif(strpos($domain, 'sogou.com')!==false && preg_match('/query=([^&]*)/i',$path,$regs)){

$searchengine = 'SOGOU';

$keywords = urldecode($regs[1]); // sogou

}elseif(strpos($domain,'so.163.com')!==false && preg_match('/q=([^&]*)/i',$path,$regs)){

$searchengine = 'NETEASE';

$keywords = urldecode($regs[1]); // netease

}elseif(strpos($domain,'yodao.com')!== false && preg_match('/q=([^&]*)/i',$path,$regs)){

$searchengine = 'YODAO';

$keywords = urldecode($regs[1]); // yodao

}elseif(strpos($domain,'zhongsou.com')!==false && preg_match('/word=([^&]*)/i',$path,$regs)){

$searchengine = 'ZHONGSOU';

$keywords = urldecode($regs[1]); // zhongsou

}elseif(strpos($domain,'search.tom.com')!==false && preg_match('/w=([^&]*)/i',$path,$regs)){

$searchengine = 'TOM';

$keywords = urldecode($regs[1]); // tom

}elseif(strpos($domain,'live.com')!==false && preg_match('/q=([^&]*)/i',$path,$regs)){

$searchengine = 'MSLIVE';

$keywords = urldecode($regs[1]); // MSLIVE

}elseif(strpos($domain, 'tw.search.yahoo.com')!==false && preg_match('/p=([^&]*)/i',$path,$regs)){

$searchengine = 'YAHOO TAIWAN';

$keywords = urldecode($regs[1]); // yahoo taiwan

}elseif(strpos($domain,'cn.yahoo.')!==false && preg_match('/p=([^&]*)/i',$path,$regs)){

$searchengine = 'YAHOO CHINA';

$keywords = urldecode($regs[1]); // yahoo china

}elseif(strpos($domain,'yahoo.')!==false && preg_match('/p=([^&]*)/i',$path,$regs)){

$searchengine = 'YAHOO';

$keywords = urldecode($regs[1]); // yahoo

}elseif(strpos($domain,'msn.com.tw')!==false && preg_match('/q=([^&]*)/i',$path,$regs)){

$searchengine = 'MSN TAIWAN';

$keywords = urldecode($regs[1]); // msn taiwan

}elseif(strpos($domain,'msn.com.cn')!==false && preg_match('/q=([^&]*)/i',$path,$regs)){

$searchengine = 'MSN CHINA';

$keywords = urldecode($regs[1]); // msn china

}elseif(strpos($domain,'msn.com')!==false && preg_match('/q=([^&]*)/i',$path,$regs)){

$searchengine = 'MSN';

$keywords = urldecode($regs[1]); // msn

}

return $keywords;

}

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值