$7.49 .com domain with free InstantPage Website Builder$1.99 Web Hosting   捷飞网络官方淘宝店   Godaddy 优惠码
返回列表 发帖
分享到:




[PHP 语言] 分享PHP如何获取网站来路/搜索引擎关键字来源(百度、谷歌、雅虎、搜狗、...

最近遇到一个项目,客户需要一个功能,一个商品销售下单需要知道用户下单是从哪个途径来的,认为客服软件(53客服)和站长统计只能满足工作时间,及晚上下班和周六日休息,客服不在线,用户下单会不知道该订单的具体来源,所以嘛,又只能通过网站功能来增加一字段,获取来源关键字,如何获取来源关键字,代码发在下面,里面包含(百度、谷歌、雅虎、搜狗、搜搜、必应、有道)几大搜索引擎的获取方法,代码中均注明,希望对你有帮助,分享一下
8 K# P3 x0 m; n7 C2 n
' r2 y3 S8 j1 N+ q6 i. B# T代码如下:0 c! \# A2 V/ m7 M8 s

8 z# J1 r0 e# l, d
  1. <?php
  2. //获取来自搜索引擎入站时的关键词
  3. function get_keyword($url,$kw_start)
  4. {
  5. $start=stripos($url,$kw_start);
  6. $url=substr($url,$start+strlen($kw_start));
  7. $start=stripos($url,'&');
  8. if ($start>0)
  9. {
  10. $start=stripos($url,'&');
  11. $s_s_keyword=substr($url,0,$start);
  12. }
  13. else
  14. {
  15. $s_s_keyword=substr($url,0);
  16. }
  17. return $s_s_keyword;
  18. }

  19. $url=isset($_SERVER['HTTP_REFERER'])?$_SERVER['HTTP_REFERER']:'';//获取入站url。
  20. $search_1="google.com"; //q= utf8
  21. $search_2="baidu.com"; //wd= gbk
  22. $search_3="yahoo.cn"; //q= utf8
  23. $search_4="sogou.com"; //query= gbk
  24. $search_5="soso.com"; //w= gbk
  25. $search_6="bing.com"; //q= utf8
  26. $search_7="youdao.com"; //q= utf8

  27. $google=preg_match("/\b{$search_1}\b/",$url);//记录匹配情况,用于入站判断。
  28. $baidu=preg_match("/\b{$search_2}\b/",$url);
  29. $yahoo=preg_match("/\b{$search_3}\b/",$url);
  30. $sogou=preg_match("/\b{$search_4}\b/",$url);
  31. $soso=preg_match("/\b{$search_5}\b/",$url);
  32. $bing=preg_match("/\b{$search_6}\b/",$url);
  33. $youdao=preg_match("/\b{$search_7}\b/",$url);
  34. $s_s_keyword="";
  35. $bul=$_SERVER['HTTP_REFERER'];
  36. //获取没参数域名
  37. preg_match('@^(?:http://)?([^/]+)@i',$bul,$matches);
  38. $burl=$matches[1];
  39. //匹配域名设置
  40. $curl="www.netxu.com";
  41. if($burl!=$curl){
  42. if ($google)
  43. {//来自google
  44. $s_s_keyword=get_keyword($url,'q=');//关键词前的字符为"q="。
  45. $s_s_keyword=urldecode($s_s_keyword);
  46. $urlname="谷歌:";
  47. $_SESSION["urlname"]=$urlname;
  48. $_SESSION["s_s_keyword"]=$s_s_keyword;
  49. //$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//引擎为gbk
  50. }
  51. else if($baidu)
  52. {//来自百度
  53. $s_s_keyword=get_keyword($url,'wd=');//关键词前的字符为"wd="。
  54. $s_s_keyword=urldecode($s_s_keyword);
  55. $s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//引擎为gbk
  56. $urlname="百度:";
  57. $_SESSION["urlname"]=$urlname;
  58. $_SESSION["s_s_keyword"]=$s_s_keyword;
  59. }
  60. else if($yahoo)
  61. {//来自雅虎
  62. $s_s_keyword=get_keyword($url,'q=');//关键词前的字符为"q="。
  63. $s_s_keyword=urldecode($s_s_keyword);
  64. //$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//引擎为gbk
  65. $urlname="雅虎:";
  66. $_SESSION["urlname"]=$urlname;
  67. $_SESSION["s_s_keyword"]=$s_s_keyword;
  68. }
  69. else if($sogou)
  70. {//来自搜狗
  71. $s_s_keyword=get_keyword($url,'query=');//关键词前的字符为"query="。
  72. $s_s_keyword=urldecode($s_s_keyword);
  73. $s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//引擎为gbk
  74. $urlname="搜狗:";
  75. $_SESSION["urlname"]=$urlname;
  76. $_SESSION["s_s_keyword"]=$s_s_keyword;
  77. }
  78. else if($soso)
  79. {//来自搜搜
  80. $s_s_keyword=get_keyword($url,'w=');//关键词前的字符为"w="。
  81. $s_s_keyword=urldecode($s_s_keyword);
  82. $s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//引擎为gbk
  83. $urlname="搜搜:";
  84. $_SESSION["urlname"]=$urlname;
  85. $_SESSION["s_s_keyword"]=$s_s_keyword;
  86. }
  87. else if($bing)
  88. {//来自必应
  89. $s_s_keyword=get_keyword($url,'q=');//关键词前的字符为"q="。
  90. $s_s_keyword=urldecode($s_s_keyword);
  91. //$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//引擎为gbk
  92. $urlname="必应:";
  93. $_SESSION["urlname"]=$urlname;
  94. $_SESSION["s_s_keyword"]=$s_s_keyword;
  95. }
  96. else if($youdao)
  97. {//来自有道
  98. $s_s_keyword=get_keyword($url,'q=');//关键词前的字符为"q="。
  99. $s_s_keyword=urldecode($s_s_keyword);
  100. //$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//引擎为gbk
  101. $urlname="有道:";
  102. $_SESSION["urlname"]=$urlname;
  103. $_SESSION["s_s_keyword"]=$s_s_keyword;
  104. }
  105. else{
  106. $urlname=$burl;
  107. $s_s_keyword="";
  108. $_SESSION["urlname"]=$urlname;
  109. $_SESSION["s_s_keyword"]=$s_s_keyword;
  110. }
  111. $s_urlname=$urlname;
  112. $s_urlkey=$s_s_keyword;
  113. }
  114. else{
  115. $s_urlname=$_SESSION["urlname"];
  116. $s_urlkey=$_SESSION["s_s_keyword"];
  117. }
  118. ?>
复制代码

2 }: F, U/ T# s  k, q0 w" n9 n2 \# k( E  K5 ^& Q+ i  l5 n
有一点要记住,由于各搜索引擎的页面编码不一样,有的是GBK,有的是UTF8,所以在获取时会有不同对字符编码的转换2 h) k5 J! Y% j- R0 @+ E3 i
+ r9 o! q& {  G( p- G3 Q
参考: 网络 http://www.netxu.com/thread-31-1-1.html




返回列表
Namecheap
Namecheap.com - Cheap domain name registration, renewal and transfers - Free SSL Certificates - Web Hosting
互联网安全