появилась необходимость сделать определение перехода на сайт из поисковых систем, определять поисковую систему не составило труда, а вот с определением самого запроса возникают проблемы.
пытаюсь разбить строку регуляркой
сама регулярка
/[\S]+text=([\S]+)&[\S]*/
реферер
http://yandex.ru/yandsearch?text=fortexcompany.ru&clid=740030&lr=54
на что он выдает
fortexcompany.ru&clid=740030
почему строка не обрезается на символе "&"?
пробовал делать так
/[\S]+text=([\S]+)&clid=[\S]*/
но этот самый &clid= в реферере иногда после значения text= иногда до него.
Спустя 13 минут, 38 секунд (11.04.2012 - 08:50) h234 написал(а):
$str = "http://yandex.ru/yandsearch?text=fortexcompany.ru&clid=740030&lr=54";
$pattern = '/text=(.*?)&/';
preg_match($pattern, $str, $matches);
print_r($matches);
Спустя 55 секунд (11.04.2012 - 08:51) h234 написал(а):
Прочитай про ленивую квантификацию
Спустя 7 минут, 41 секунда (11.04.2012 - 08:59) AndreyChaki написал(а):
спасибо, то есть необязательно указывать что до и после нужного текста есть что либо?
и еще вопрос, как текст реферера
сделать русским. есть какой либо универсальный метод, или загонять все в массив и использовать str_replace() ?
и еще вопрос, как текст реферера
%D0%94%D0%B5%D0%BC%D0%BE%D0%A1%D0%B0%D0%B9%D1%82+%D1%81%D1%82%D1%83%D0%B4%D0%B8%D0%B8+%D0%90%D1%80%D1%82%D0%B5%D0%BD%D0%B0
сделать русским. есть какой либо универсальный метод, или загонять все в массив и использовать str_replace() ?
Спустя 5 минут, 3 секунды (11.04.2012 - 09:04) h234 написал(а):
Цитата (AndreyChaki @ 11.04.2012 - 05:59) |
спасибо, то есть необязательно указывать что до и после нужного текста есть что либо? и еще вопрос, как текст реферера %D0%94%D0%B5%D0%BC%D0%BE%D0%A1%D0%B0%D0%B9%D1%82+%D1%81%D1%82%D1%83%D0%B4%D0%B8%D0%B8+%D0%90%D1%80%D1%82%D0%B5%D0%BD%D0%B0 сделать русским. есть какой либо универсальный метод, или загонять все в массив и использовать str_replace() ? |
1. Почему? Ты указваешь, что тебе нужен текст после text= и до &
2. urldecode
Спустя 1 минута, 16 секунд (11.04.2012 - 09:05) AndreyChaki написал(а):
про ленивую квантификацию прочитал. все понятно
Спустя 5 часов, 26 минут, 18 секунд (11.04.2012 - 14:31) AndreyChaki написал(а):
небольшой оффтоп.
реферер гугла не содержит запрос а только ссылку на сайт.
тогда как яндекс и мэил передают в реферер конкретный запрос в ПС. можете подсказать как определять запрос по которому перешли на сайт с гугла
реферер гугла не содержит запрос а только ссылку на сайт.
тогда как яндекс и мэил передают в реферер конкретный запрос в ПС. можете подсказать как определять запрос по которому перешли на сайт с гугла