ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルでの検索キーワードの取得に関する問題

PHP_PHP チュートリアルでの検索キーワードの取得に関する問題

WBOY
WBOYオリジナル
2016-07-13 10:27:27824ブラウズ

PHPでの検索キーワード取得の問題

検索キーワードを取得するためのコードをインターネット上で見つけました。テストしたところ、コードが無効でしたか、バグがありましたか?

//検索元のキーワードを取得します

関数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);

}

その他

{

$s_s_keyword=substr($url,0);

}

$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["カムリンク"];

//パラメータなしでドメイン名を取得します

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

$burl=$matches[1];

//ドメイン名設定の一致

$curl="www.hcyf07.com";

if($burl!=$curl){

if ($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)

{//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="Yahoo:";

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

{//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="Bing:";

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

{//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;

}

その他{

// $urlname=$burl;

$urlname="直接アクセス";

$s_s_keyword="";

$_SESSION["urlname"]=$urlname;

$_SESSION["s_s_keyword"]=$s_s_keyword;

}

$s_urlname=$urlname;

$s_urlkey=$s_s_keyword;

}

その他{

$s_urlname=$_SESSION["urlname"];

$s_urlkey=$_SESSION["s_s_keyword"];

}

------解決策---------------------

エラーメッセージはありますか?

------解決策---------------------

あなたのコードは N 年以上前に書かれました。

$_SERVER['HTTP_REFERER'] は https:// ウェブサイトを取得できません。

セキュリティ上の理由から、現在、ほぼすべての検索エンジンは http:// ではなく https:// を使用しています。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/820409.html技術記事 PHP の検索キーワードの取得に関する問題。検索キーワードを取得するためのコードをインターネット上で見つけました。コードが無効ですか、それともバグですか? ...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。