Перейти к содержимому


Вопрос по регекспам


  • Вы не можете ответить в тему
Сообщений в теме: 2

#1 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 02 July 2012 - 12:34 PM

Понадобилось мне вылавливать из строки (из реферера) часть, которая (для примера) расположена от &search= до следующего & либо, если его нет, то до конца строки. Ну и стартовая последовательность может быть &search=, а может и ?search=. Со стартовой легко - пишем [&\?]search= и ловим таким образом оба варианта, а вот для конечной не могу понять, как сделать двухвариантно.

Т.е. /[&\?]search=](.*?)&/ нормально выдает мне строку, если далее есть &, но не выдает, если искомый текст идет до конца строки, как и должно быть. А /[&\?]search=](.*?)$/ выдает мне весь текст до конца строки даже если по дороге есть &, что тоже как и должно быть. А вот как сделать что-то типа [&$], аналогично стартовой последовательности - не понимаю :(.

Пока решил через заднюю часть - при применении регекспа добавляю в конец строки &.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#2 eugene_wb

    Продвинутый пользователь

  • Модераторы
  • 827 сообщений
Репутация: 167
Мастер

Отправлено 02 July 2012 - 01:15 PM

собственно альтернатива
http://php.net/manua...n.parse-str.php
http://www.php.net/m...n.parse-url.php
  • 1
Изображение Изображение Изображение

#3 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 02 July 2012 - 07:40 PM

собственно альтернатива

Не катит. Оно не позволяет единообразно и в цикле (!) выделить нужную подстроку и из
/topic/922-делаем-развесистый-фильтр-товаров-обкатка-нап/page__st__140__p__20611__hl__парсер__fromsearch__1
и из
/yandsearch?clid=9582&text=texet tb-750hd дата выхода&lr=213
а регекспы позволяют на ура, задав массив старт-ендовых шаблонов :).

Но все равно спасибо, я как-то упустил parse_url(), очень пригодится в других местах.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)