您当前的位置: 首页 > 网站编程 > PHP教程 > PHP获取搜索关键字有关问题

PHP获取搜索关键字有关问题

作者:不详 来源:网络 发布时间: 2014-07-29 13:43 点击:
PHP获取搜索关键字问题 网上找了一段代码想实现获取搜索关健字,测试了一个关健字取不了,是不是这代码无效了,还是那里有BUG? //取搜索来源关健字 function get_keyword($url,$kw_start) { $start=stripos($url,$kw_start); $url=substr($url,$start+strlen($kw_start

PHP获取搜索关键字有关问题

  PHP获取搜索关键字问题

  网上找了一段代码想实现获取搜索关健字,测试了一个关健字取不了,是不是这代码无效了,还是那里有BUG?

  //取搜索来源关健字

  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.hk"; //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

  $search_8="so.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);

  $so=preg_match("/b{$search_8}b/",$url);

  $s_s_keyword="";

  // $bul=$_SERVER['HTTP_REFERER'];

  $bul=$_REQUEST["comelink"];

  //获取没参数域名

  preg_match('@^(?:http://)?([^/]+)@i',$bul,$matches);

  $burl=$matches[1];

  //匹配域名设置

  $curl="www.hcyf07.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($so)

  {//来自360

  $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="360:";

  $_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;

  $urlname="直接访问";

  $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"];

  }

  ------解决方案--------------------

  有什么错误提示吗?

  ------解决方案--------------------

  你那么代码是N多年前的。

  $_SERVER['HTTP_REFERER'] 不能获取 https:// 的网站。

  现在为了安全考虑,几乎所有的搜索引擎都使用 https:// 而不是 http:// 。
分享到:
本文"PHP获取搜索关键字有关问题"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4