2011-04-06 34 views
0

對我來說這似乎有點奇怪,但儘管每個人都知道新的谷歌搜索網址(請參閱Google using # instead of search? in URL. Why?),但沒有人對HTTP_REFERER有任何問題。無法解析新的Google網址-HTTP_REFERER不包含任何參數

我使用引用來解析搜索查詢的谷歌字符串(& q =),但因爲這是所有哈希標記它不會被髮送到服務器,我得到的是「http://www.google.de/」。

那麼你知道一種獲取用戶搜索的查詢的方法嗎?

回答

1

由於有多個Q的查詢字符串,你必須在全球範圍內符合「Q」參數,並採取最後一個:

/[?|&|#]q=([^&|^#]+)/ig

擺脫「網站:」搜索(還有其他的,但我沒有做它們)

/[\+|?|&]?site:([^&|^#])+/g, '');

然後分析結果。

/[\w^'\(\)\{\}]+|"[^"]+"/g

這一直是我運作良好。

+0

其實,還是有一些清理後的事情。我一直在用JavaScript做這個,沒有負面展望的好處。也許別人可以啓發我? query = query.replace(/(\'|「)/,'\ $ 1'); query = query.replace(/ \ + site:(。+)$ /,''); // now完成上述操作,但是在此處備份 query = query.replace(/^[?|&] q = /,''); //因爲Google搜索是全局的,所以必須將其刪除 query = query.replace (/ ^&query = /,''); //同上lycos' – 2011-07-26 02:13:55