程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP獲取搜索關鍵字有關問題

PHP獲取搜索關鍵字有關問題

編輯:關於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:// 。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved