ホームページ  >  記事  >  バックエンド開発  >  検索エンジンのキーワードソースを取得するPHP関数(Baidu、Googleなどの検索エンジンをサポート)

検索エンジンのキーワードソースを取得するPHP関数(Baidu、Googleなどの検索エンジンをサポート)

WBOY
WBOYオリジナル
2016-07-25 08:57:231052ブラウズ
  1. //検索エンジンからインバウンドキーワードを取得します

  2. //by bbs.it-home.org
  3. function get_keyword($url,$kw_start)
  4. {
  5. $ start=ストリップス($url,$kw_start);
  6. $url=substr($url,$start+strlen($kw_start));
  7. $start=stripos($start> 0);
  8. {
  9. $start=stripos($url,'&');
  10. $s_s_keyword=substr($url,0,$start)
  11. }
  12. else
  13. {
  14. $s_s_keyword=substr($url,0) ; }
  15. return $s_s_keyword;
  16. }

  17. $url=isset($_SERVER['HTTP_REFERER'])?$_SERVER['HTTP_REFERER']:'';//受信 URL を取得します。

  18. $search_1="google.com"; //q= utf8
  19. $search_2="baidu.com" //wd= gbk
  20. $search_3="yahoo.cn"; //q= utf8
  21. $search_4=" sogou.com"; //query= gbk
  22. $search_5="soso.com"; //w= gbk
  23. $search_6="bing.com"; //q= utf8
  24. $search_7="youdao.com"; //q= utf8

  25. $google=preg_match("/b{$search_1}b/",$url);//受信判定用のマッチング状況を記録します。

  26. $baidu=preg_match("/b{$search_2}b/",$url);
  27. $yahoo=preg_match("/b{$search_3}b/",$url);
  28. $sogou=preg_match("/ b{$search_4}b/",$url);
  29. $soso=preg_match("/b{$search_5}b/",$url);
  30. $bing=preg_match("/b{$search_6}b/" ,$url);
  31. $youdao=preg_match("/b{$search_7}b/",$url);
  32. $bul=$_SERVER['HTTP_REFERER']; ? パラメータ ドメイン名
  33. preg_match('@^(?:http://)?([^/]+)@i',$bul,$matches);一致するドメイン名 Set
  34. $curl="bbs.it-home.org";
  35. if($burl!=$curl){
  36. if ($google)
  37. {//from google
  38. $s_s_keyword=get_keyword($url, 'q= ');//キーワードの前の文字は「q=」です。
  39. $s_s_keyword=urldecode($s_s_keyword);
  40. $urlname="Google:";
  41. $_SESSION["s_s_keyword"]=$s_s_keyword=iconv; ("GBK","UTF-8",$s_s_keyword);//エンジンは gbk です
  42. }
  43. else if($baidu)
  44. {//Baidu より
  45. $s_s_keyword=get_keyword($url,'wd=') ; //キーワードの前の文字は「wd=」です。
  46. $s_s_keyword=urldecode($s_s_keyword);
  47. $s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//エンジンは gbk です
  48. $urlname="Baidu:"
  49. $_SESSION[" urlname "]=$urlname;
  50. $_SESSION["s_s_keyword"]=$s_s_keyword;
  51. }
  52. else if($yahoo)
  53. {//Yahoo より
  54. $s_s_keyword=get_keyword($url,'q=');/ / キーワードの前の文字は「q=」です。
  55. $s_s_keyword=urldecode($s_s_keyword);
  56. //$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//エンジンは gbk です
  57. $urlname="Yahoo:"; [ "urlname"]=$urlname;
  58. $_SESSION["s_s_keyword"]=$s_s_keyword;
  59. }
  60. else if($sogou)
  61. {//Sogou から
  62. $s_s_keyword=get_keyword($url,'query=') ; //キーワードの前の文字は「query=」です。
  63. $s_s_keyword=urldecode($s_s_keyword);
  64. $s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//エンジンは gbk です
  65. $urlname="Sogou:"
  66. $_SESSION[" urlname "]=$urlname;
  67. $_SESSION["s_s_keyword"]=$s_s_keyword;
  68. }
  69. else if($soso)
  70. {//Soso より
  71. $s_s_keyword=get_keyword($url,'w=');/ /キーワードの前の文字は「w=」です。
  72. $s_s_keyword=urldecode($s_s_keyword);
  73. $s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//エンジンは gbk です
  74. $urlname="Soso:"; urlname"]=$urlname;
  75. $_SESSION["s_s_keyword"]=$s_s_keyword;
  76. }
  77. else if($bing)
  78. {//Bing から
  79. $s_s_keyword=get_keyword($url,'q='); / /キーワードの前の文字は「q=」です。
  80. $s_s_keyword=urldecode($s_s_keyword);
  81. //$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//エンジンは gbk です
  82. $urlname="Bing:"; ["urlname"]=$urlname;
  83. $_SESSION["s_s_keyword"]=$s_s_keyword;
  84. else if($youdao)
  85. {//Youdao から
  86. $s_s_keyword=get_keyword($url,'q=' ) ;//キーワードの前の文字は「q=」です。
  87. $s_s_keyword=urldecode($s_s_keyword);
  88. //$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//エンジンは gbk です
  89. $urlname="Youdao:"; ["urlname"]=$urlname;
  90. $_SESSION["s_s_keyword"]=$s_s_keyword;
  91. else{
  92. $s_s_keyword="";
  93. $_SESSION["s_s_キーワード"]=$s_s_キーワード;
  94. $s_urlname=$s_s_keyword;
  95. $s_urlname=$_s_url;キー=$_SESSION["s_s_keyword"]
  96. }
  97. ?>
  98. コードをコピー

注: 処理するときは、エンコードの問題に対処することを忘れないでください。これは、検索エンジンによって結果が GBK で返される場合と、UTF-8 形式で返される場合があるためです。

機能2、これも良いです、試してみてください。 コードは以下のように表示されます。

  1. //検索エンジンのエントリーキーワードを取得
  2. $_SERVER['HTTP_REFERER']='http://www.baidu.com/s?wd=http://bbs .it-home.org';
  3. 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');
  4. function save_www_iiwnet_com_keyword($domain,$path){
  5. if(strpos($domain, 'google.com.tw')!==false && preg_match('/q=([^&]*)/i',$path,$regs)){
  6. $searchengine = 'GOOGLE TAIWAN'
  7. $keywords = urldecode($regs[1]);グーグル台湾
  8. }
  9. if(strpos($domain,'google.cn')!==false && preg_match('/q=([^&]*)/i',$path,$regs)){
  10. $ searchengine = 'GOOGLE CHINA';
  11. $keywords = urldecode($regs[1]); // グーグル中国
  12. }
  13. if(strpos($domain,'google.com')!==false && preg_match('/q) = ([^&]*)/i',$path,$regs)){
  14. $searchengine = 'GOOGLE'
  15. $keywords = urldecode($regs[1]); // グーグル
  16. }elseif(strpos( $ドメイン,'baidu.')!==false && preg_match('/wd=([^&]*)/i',$path,$regs)){
  17. $searchengine = 'BAIDU';
  18. $keywords = urldecode ($regs[1]); // baidu
  19. }elseif(strpos($domain,'baidu.')!==false && preg_match('/word=([^&]*)/i',$path , $regs)){
  20. $searchengine = 'BAIDU';
  21. $keywords = urldecode($regs[1]) // baidu
  22. }elseif(strpos($domain,'114.vnet.cn'); false && preg_match('/kw=([^&]*)/i',$path,$regs)){
  23. $searchengine = 'CT114'
  24. $keywords = urldecode($regs[1]); // ct114
  25. }elseif(strpos($domain,'iask.com')!==false && preg_match('/k=([^&]*)/i',$path,$regs)){
  26. $searchengine = ' IASK';
  27. $keywords = urldecode($regs[1]); // iask
  28. }elseif(strpos($domain,'soso.com')!==false && preg_match('/w=([^& ] *)/i',$path,$regs)){
  29. $searchengine = 'SOSO';
  30. $keywords = urldecode($regs[1]); // soso
  31. }elseif(strpos($domain, 'sogou); .com')!==false && preg_match('/query=([^&]*)/i',$path,$regs)){
  32. $searchengine = 'SOGOU';
  33. $keywords = urldecode($regs) [ 1]); // sogou
  34. }elseif(strpos($domain,'so.163.com')!==false && preg_match('/q=([^&]*)/i',$path, $ regs)){
  35. $searchengine = 'NETEASE';
  36. $keywords = urldecode($regs[1]); // netease
  37. }elseif(strpos($domain,'yodao.com')!== false && preg_match ( '/q=([^&]*)/i',$path,$regs)){
  38. $searchengine = 'YODAO'
  39. $keywords = urldecode($regs[1]); // よだお
  40. } elseif (strpos($domain,'zhongsou.com')!==false && preg_match('/word=([^&]*)/i',$path,$regs)){
  41. $searchengine = 'ZHONGSOU' ;
  42. $keywords = urldecode($regs[1]); // zhongsou
  43. }elseif(strpos($domain,'search.tom.com')!==false && preg_match('/w=([^&] * )/i',$path,$regs)){
  44. $searchengine = 'TOM';
  45. $keywords = urldecode($regs[1]); // トム
  46. }elseif(strpos($domain,'live. com ')!==false && preg_match('/q=([^&]*)/i',$path,$regs)){
  47. $searchengine = 'MSLIVE'
  48. $keywords = urldecode($regs[ 1 ]); // MSLIVE
  49. }elseif(strpos($domain, 'tw.search.yahoo.com')!==false && preg_match('/p=([^&]*)/i',$path , $regs)){
  50. $searchengine = 'YAHOO TAIWAN';
  51. $keywords = urldecode($regs[1]) // yahoo 台湾
  52. }elseif(strpos($domain,'cn.yahoo.')!= = false && preg_match('/p=([^&]*)/i',$path,$regs)){
  53. $searchengine = 'YAHOO CHINA'
  54. $keywords = urldecode($regs[1]); / / yahoo china
  55. }elseif(strpos($domain,'yahoo.')!==false && preg_match('/p=([^&]*)/i',$path,$regs)){
  56. $ searchengine = 'YAHOO';
  57. $keywords = urldecode($regs[1]); // yahoo
  58. }elseif(strpos($domain,'msn.com.tw')!==false && preg_match('/q= ( [^&]*)/i',$path,$regs)){
  59. $searchengine = 'MSN 台湾'
  60. $keywords = urldecode($regs[1]); // msn 台湾
  61. }elseif(strpos); ( $domain,'msn.com.cn')!==false && preg_match('/q=([^&]*)/i',$path,$regs)){
  62. $searchengine = 'MSN CHINA' ;
  63. $keywords = urldecode($regs[1]); // msn china
  64. }elseif(strpos($domain,'msn.com')!==false && preg_match('/q=([^&]*) ) /i',$path,$regs)){
  65. $searchengine = 'MSN';
  66. $keywords = urldecode($regs[1]); // msn
  67. }
  68. return $keywords;
コードをコピー
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。