2012-05-03 41 views
1

我見過各種關於如何使用PHP tp的文章和帖子,用來搜索用於查找網站的搜索字詞。例如,用javascript/jquery捕獲搜索條件

Capture search engine keywords in php

如何我也使用Javascript/jQuery的做到這一點?

最終,我想抓住關鍵字並將它們用於我已經編寫和工作的AJAX請求(對於其他類似但不同的東西)。

請注意:這是一個新的領域,所以輸入慢,勺子餵它,如果亞可以,總是讚賞更多細節的鏈接。

回答

2

您可以使用document.referrer獲得前一頁網址的網址,像這樣:

console.log(document.referrer); 

將輸出類似:

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

只喂到你的Ajax。

+0

這是偉大的。謝謝。 –

-1

簡答:你不能。

編輯:好的,你可以。我的錯。請參閱document.referrer的答案。但是,我的 最後一點仍然有效。

擴展版本:當PHP運行在Web服務器上時,Javascript運行在客戶端。因此,PHP可以訪問諸如HTTP referer之類的環境變量,並且可以提取其中的一部分。無論如何,您需要提供一些信息以及您的網站(例如隱藏字段),而這些信息可能會通過JavaScript進行處理。

此外,您的ajax請求是(您猜測它)調用服務器端腳本。所以你可能想在你的網站傳遞腳本中使用該腳本的邏輯。

1

使用從您鏈接到的問題正則表達式,此函數將返回用於查找當前頁面,或一個空數組關鍵字的數組:

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