欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

PHP记录搜索引擎来路关键字

程序员文章站 2023-12-29 12:01:34
...
<?php
/**
* 记录搜索引擎来路及关键词
* edit by www.jbxue.com
*/
//搜索引擎来路
function keywords($url){
$spier=array('baidu.'=>'百度','google.'=>'谷歌','soso.'=>'搜搜','sogou.'=>'搜狗','www.so.com'=>'360');
$q=array('百度'=>'/wd=([^&]*)/i','谷歌'=>'/q=([^&]*)/i','360'=>'/q=(.*)/i','搜狗'=>'/query=([^&]*)/i','搜搜'=>'/w=([^&]*)/i');
foreach($spier as $k=>$v){
   if(strpos($url,$k)){
      preg_match("{$q[$v]}",$url,$b);
      if($v=='搜搜'||$v=='搜狗'){
 $keywords=iconv('GBK','UTF-8',urldecode($b[1]));
      }else{
 $keywords=urldecode($b[1]);
}

echo "来自{$v}的关键字:".$keywords;
 }
} 
}
$url=$_SERVER['HTTP_REFERER']; //这个放到网站的头部来获取来访的地址的
      
keywords($url);

//记录用户搜索引擎关键词代码
//记录用户通过常见的搜索引擎搜索关键词
$rfr = $_SERVER['HTTP_REFERER'];
//if(!$rfr) $rfr='http://'.$_SERVER['HTTP_HOST'];
if($rfr)
{
 $p=parse_url($rfr);
 parse_str($p['query'],$pa);
 $p['host']=strtolower($p['host']);
 $arr_sd_key=array(
 'baidu.com'=>'word',
 'google.com'=>'q',
 'sina.com.cn'=>'word',
 'sohu.com'=>'word',
 'msn.com'=>'q',
 'bing.com'=>'q',
 '163.com'=>'q',
 'yahoo.com'=>'p'
 );
 $keyword='';
 $sengine=$p['host'];
 foreach($arr_sd_key as $se=>$kwd)
 {
if(strpos($p['host'],$se)!==false)
{
 $keyword=$pa[$kwd];
 $sengine=$se;
 break;
}
 }
 $sql="insert into visit_log(domain,key_word,ct)";
}
?>

上一篇:

下一篇: