-
-
//Get inbound keywords from search engines - //by bbs.it-home.org
- 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']:'';//Get inbound 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);//Record the matching situation for inbound judgment.
- $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'];
- //Get it? Parameter domain name
- preg_match('@^(?:http://)?([^/]+)@i',$bul,$matches);
- $burl=$matches[1];
- //Matching domain name Set
- $curl="bbs.it-home.org";
- if($burl!=$curl){
- if ($google)
- {//from google
- $s_s_keyword=get_keyword($url,'q= ');//The character before the keyword is "q=".
- $s_s_keyword=urldecode($s_s_keyword);
- $urlname="Google:";
- $_SESSION["urlname"]=$urlname;
- $_SESSION["s_s_keyword"]=$s_s_keyword;
- //$s_s_keyword=iconv ("GBK","UTF-8",$s_s_keyword);//The engine is gbk
- }
- else if($baidu)
- {//From Baidu
- $s_s_keyword=get_keyword($url,'wd='); //The character before the keyword is "wd=".
- $s_s_keyword=urldecode($s_s_keyword);
- $s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//The engine is gbk
- $urlname="Baidu:";
- $_SESSION["urlname "]=$urlname;
- $_SESSION["s_s_keyword"]=$s_s_keyword;
- }
- else if($yahoo)
- {//From Yahoo
- $s_s_keyword=get_keyword($url,'q=');// The character before the keyword is "q=".
- $s_s_keyword=urldecode($s_s_keyword);
- //$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//The engine is gbk
- $urlname="Yahoo:";
- $_SESSION[ "urlname"]=$urlname;
- $_SESSION["s_s_keyword"]=$s_s_keyword;
- }
- else if($sogou)
- {//From Sogou
- $s_s_keyword=get_keyword($url,'query='); //The character before the keyword is "query=".
- $s_s_keyword=urldecode($s_s_keyword);
- $s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//The engine is gbk
- $urlname="Sogou:";
- $_SESSION["urlname "]=$urlname;
- $_SESSION["s_s_keyword"]=$s_s_keyword;
- }
- else if($soso)
- {//From Soso
- $s_s_keyword=get_keyword($url,'w=');/ /The character before the keyword is "w=".
- $s_s_keyword=urldecode($s_s_keyword);
- $s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//The engine is gbk
- $urlname="Soso:";
- $_SESSION[" urlname"]=$urlname;
- $_SESSION["s_s_keyword"]=$s_s_keyword;
- }
- else if($bing)
- {//From Bing
- $s_s_keyword=get_keyword($url,'q='); //The character before the keyword is "q=".
- $s_s_keyword=urldecode($s_s_keyword);
- //$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//The engine is gbk
- $urlname="Bing:";
- $_SESSION ["urlname"]=$urlname;
- $_SESSION["s_s_keyword"]=$s_s_keyword;
- }
- else if($youdao)
- {//From Youdao
- $s_s_keyword=get_keyword($url,'q=' );//The character before the keyword is "q=".
- $s_s_keyword=urldecode($s_s_keyword);
- //$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//The engine is gbk
- $urlname="Youdao:";
- $_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"];
- }
- ?>
-
-
Copy code
Note: When processing, remember to deal with the encoding issue, because different search engines may return results in GBK, while others may be in UTF-8 format.
Function 2, this is also good, you can try it.
code show as below:
-
- //Get the entry keyword of the search engine
- $_SERVER['HTTP_REFERER']='http://www.baidu.com/s?wd=http://bbs. it-home.org';
- echo save_www_iiwnet_com_keyword('http://www.baidu.com/s?wd=http://bbs.it-home.org','http://www.baidu.com/ s?wd=http://bbs.it-home.org');
- 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;
- }
- ?>
Copy code
|