PHP擷取搜尋索引鍵有關問題

來源:互聯網
上載者:User

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

  $_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:// 。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.