>php教程 >PHP源码 >PHP记录搜索引擎来路关键字

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

PHP中文网
PHP中文网원래의
2016-05-25 17:04:111060검색


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

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

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

                   

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.