1

我看过各种关于如何使用 PHP tp 抓取用于查找网站的搜索词的文章和帖子。例如,

在php中捕获搜索引擎关键字

我怎么能用 Javascript / jQuery 做到这一点?

最终,我想获取关键字并将它们用于我已经编写和工作的 AJAX 请求(用于其他类似但不同的东西)。

注意:这对我来说是一个新领域,所以慢慢打字,用勺子喂它,如果可以的话,总是很感激链接到更多细节。

4

3 回答 3

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。

于 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 referer,并且可以提取其中的一部分。在任何情况下,您都需要提供一些信息以及您的网站(例如隐藏字段),这些信息可能会通过 javascript 进行处理。

此外,您的 ajax 请求是(您猜对了)对服务器端脚本的调用。因此,您可能希望在您的网站交付脚本中使用该脚本的逻辑。

于 2012-05-03T16:51:35.857 回答