1

PHPの使用方法に関するさまざまな記事や投稿を見てきましたが、サイトの検索に使用される検索用語を取得します。例えば、

phpで検索エンジンのキーワードをキャプチャします

Javascript / jQueryでもこれを行うにはどうすればよいですか?

最終的には、キーワードを取得して、すでに作成して機能しているAJAXリクエストに使用したいと思います(他の類似しているが異なるもののために)。

注:これは私にとって新しい領域なので、ゆっくりと入力し、スプーンで餌を与えます。可能であれば、詳細へのリンクを常に歓迎します。

4

3 に答える 3

2

document.referrer次のように、前のページの URL の URL を取得するために使用できます。

console.log(document.referrer);

次のような出力が得られます。

http://www.google.com/search?hl=en&q=stack+overflow&aq=0&oq=stack+over&aqi=g10

あなたのajaxにフィードするだけです。

于 2012-05-03T16:48:42.303 に答える
2

リンク先の質問の正規表現を使用すると、この関数は現在のページを見つけるために使用されるキーワードの配列、または空の配列を返します。

function parse_keywords(url){
    var matches = url.match(/.*(?:\?p=|\?q=|&q=|\?s=)([a-zA-Z0-9 +]*)(?:&toggle=|&ie=utf-8|&FORM=|&aq=|&x=|&gwp)/);
    return matches ? matches[1].split('+') : [];
}

console.log(parse_keywords(document.referrer)); // Get keywords from referrer
console.log(parse_keywords('http://www.google.com/search?hl=en&q=stack+overflow&aq=0&oq=stack+over&aqi=g10')); // Or any given url
于 2012-05-03T16:55:30.423 に答える
-1

簡単な答え: できません。

編集:まあ、できます。私のせいです。document.referrer答えを見てください。ただし、私の最後のポイントはまだ有効です。

拡張バージョン: Javascript はクライアント側で実行され、PHP は Web サーバーで実行されます。したがって、PHP は HTTP リファラーなどの環境変数にアクセスでき、その一部を抽出する場合があります。いずれにせよ、Web サイトとともにいくつかの情報を提供する必要があります (隠しフィールドなど)。

また、あなたの ajax リクエストは (ご想像のとおり) サーバー側スクリプトへの呼び出しです。そのため、Web サイト配信スクリプトでそのスクリプトのロジックを使用することをお勧めします。

于 2012-05-03T16:51:35.857 に答える