Страница 1 из 1

Как вытащить "кусок" из реферрера

Добавлено: 06 фев 2005, 23:15
Anatoliy_K
Прошу совета:

есть реферрер. Это страница с поисковой системы (взял несколько: гугл, msn, яху, альтависта).
Пытаюсь выдрать оттуда сам поисковый запрос (они пишутся после &q=, и за запросом следует знак &, или ничего не следует).

Для конструкции вида
http://search.msn.com/results.aspx?FORM ... 0&q=ЗАПРОС решил сделать так:
var anyString=document.referrer;
var x = anyString;
var y = new Array;
var z;
y = x.split("&q=");
z = y[y.length-1];
document.writeln(z);
тут проблем нет, выводится "ЗАПРОС".

Но есть ссылки вида http://search.msn.com/results.aspx?q=ЗАПРОС&FORM=QBRE
то есть после запроса идет знак & и т.п, как я писал выше.
И с такими не знаю что делать.
То есть надо выдрать сам запрос между &q= (или ?q=, или просто q=, а в Яху и после ?p=) и следующим за запросом знаком & (или не следующим, т.е. когда на этом строка закончилась).
Может кто-нибудь хотя бы намекнет где копаться? (JS слабо знаю, но нада :) ) Надо именно JS...
Заранее спасибо!

Добавлено: 07 фев 2005, 15:24
AiK
Anatoliy_K, разбирают такие строчки по такому алгоритму:
сначала split по знаку вопроса. Тем самым получишь QUERY_STRING.
Потом, split по знаку & - получишь все строки 'параметр=значение'.
И, наконец, split по знаку = - получишь все пары параметр, значение.

Добавлено: 07 фев 2005, 19:18
Anatoliy_K
Спасибо, направление ясно :)