vahhabit
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору darken665 Рад что помог. Задача была довольно интересная и непривычная. Кстати тут еще подойдет такого вида решение:) Я заметил, что там цена в начале и в конце пишется, поэтому можно ее сократить до - regex(\$\d{2}[1234678][1234678]\s\w{3}\s\d{1,2}\s.{0,20}mercedes) и тоже работает как надо. Причем эта регулярка должна точнее срабатывать, потому что у первой 2 раза разрыв может произойти, если удлиннят и в начале и в конце. А тут только пропустит если в вначале до марки машины длинное описание сделают - что кстати маловероятно. Так что рекомендую эту регулярку. Добавлено: В общем если я правильно разобрался, то фильтры, ключевые фразы, белый-черный список работают следующим образом: Вначале работает фильтр игнорируемые таким образом: Если в фильтре есть несколько строк, то он последовательно, в соотвествии с регуляркой в первой строке - вырезает внутри текста ненужное. Затем берет обработанный первой регуляркой текст и вырезает еще текст в соответсвии с регуляркой второй строки и.т.д. пока не обработает все строки в разделе игнорируемые фильтры. Пример: Допустим на странице есть только текст: Привет Леша у меня появилось бабло 300 рублей! Пойдем на прогулку! У меня есть 10 минут. А у нас фильтры настроены так. Игнорируемые: 1 строка Привет 2 строка Привет Леша Произойдет вот что: 1строка фильтра удалит из текста - "Привет" 2строка фильтра не найдет строку - "Привет Леша", потому что предидущая строка вырезала слово "Привет" Затем к работе приступает фильтр Отслеживаемые: Он работает с уже обработанным текстом из фильтра игнорируемые. т.е. используя предидущий пример это: Леша у меня появилось бабло 300 рублей! Пойдем на прогулку! У меня есть 10 минут. т.е. слово Привет - у нас вырезан! Фильтр отслеживаемые работает с текстом, в котором УЖЕ вырезаны фрагменты текста фильтром Игнорируемые. Если в фильтре отслеживаемые есть несколько строк, то вторая строка ЗАНОГО берет обработанный текст фильтра игнорируемые и с нуля добавляет еще кусок для ослеживания. Для втрой строки фильтра не существует поиска из первой строки. Т.е. фильтр отслеживаемые не ищет внутри найденного. Он просто добавляет фрагменты, в которых будут отслеживаться изменения, учитывая уже вырезанное фильтром Игнорируемые. Далее Ключевые фразы или Белый-черный список: я думаю не важно какой из них начинает свою проверку раньше или позже, если мы включили оба, то пока оба не скажут - все ок, то уведомление об обновлении содержимого не выскочит. Оба фильтра работают с ЧИСТОЙ СТРАНИЦЕЙ и им пофиг что там отфильтровалось в Отслеживаемых и в Игнорируемых. Черный-Белый список отличается от фильтра по ключевым словам тем, что он будет срабатывать всегда при наличии в любом месте страницы указанной фразы или регулярки. А Ключевые фразы будут срабатывать только при появлении новых указанных ключевых фраз или удалении со страницы тех, что были ранее на странице. т.е. если указанное в ключевых фразах слово уже один раз сработало при обновлении содержимого, то второй раз это ключевое слово не будет считаться. Но! При этом, если ключевое слово удалится со страницы, снова будет срабатывание этого фильтра. Но прицип у обоих фильтров один, они начинают проверять только тогда, когда сработало обновление в предидущей проверке - отслеживаемые. Пока в отслеживаемых нет изменений, они будут молчать, даже если на странице в неотслеживаемой области появляеются ключевые слова или слова из белого-черного списка. Я думаю, что неплохо было бы этот текст добавить в шапку, чтобы меньше вопросов возникало у людей. Как считаете? Сам только сейчас разобрался :) | Всего записей: 119 | Зарегистр. 17-06-2008 | Отправлено: 05:05 09-12-2013 | Исправлено: vahhabit, 02:09 01-05-2015 |
|