PHP獲取搜索引擎關鍵詞


有時候我們需要知道用戶通過哪個搜索引擎,通過拿個關鍵詞訪問我們頁面,當然js也可以實現,這里介紹下php的實現代碼,包含(百度、谷歌、雅虎、搜狗、搜搜、必應、有道)幾大搜索引擎的獲取方法。

//獲取來自搜索引擎入站時的關鍵詞 
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.netxu.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,有的是UTF8,所以在獲取時會有不同對字符編碼的轉換.

 

https://blog.csdn.net/php_80/article/details/43452307


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM