Regex

regex

regex

Модуль regex  один из самых часто используемых модулей. Этот блок поистине творит чудеса. Используя регулярные выражения, можно вносить абсолютно любые изменения в строки фида. Для работы с этим модулем необходимо знать ргулярные выражения и хотя бы базовые знания html.

Пример использования regex

Для примера возьмем этот сайт splogoved.ru. Создадим ленту, очищенную от всех ссылок. Вот как выглядит лента сайта в браузере опера, до обработки yahoo pipes.

rss в опере

rss в опере

Как видим в статьях очень много ссылок, они подчеркнуты. Наша задача обработать RSS канал через трубы яху, убирая ссылки модулем regex.

Открываем yahoo pipes, создаем новый пайп. Так как мы знаем адрес фида сайта splogoved.ru, то будем использовать блок fetch feed. Вставляем в него /feed/atom/и получаем точно такой же рсс канал полнотекстовых новостей со всеми ссылками.

Rss splogoved.ru в yahoo pipes

Rss splogoved.ru в yahoo pipes

Теперь перетаскиваем на рабочий холст блок regex соединяем с fetch feed. Наши действия таковы, мы оставим какнал таким какой он есть, только убрав все ссылки в статье, но убрав деликатно, оставив сами слова — анкоры на месте. Для этого указываем в первом поле модуля regex тот атрибут или строка, в которую будут внесены изменения, в нашем случае то item:description, строка replace отвечает за элемент, подверженный изменению. Так как нам необходимо избавиться от ссылок, то впишем сюда <a[^>]*>, это деликатно уберет ссылки из статьи. Строка with отвечает за то, как или на что в конечном итоге изменить элемент. Чтобы оставить текст как есть, оставьте это поле пустым.

Чекбоксы

  • g — глобальный поиск совпадений
  • s — учитывает символ перевода каретки на следующую строку
  • m — не учитывает символ перевода каретки на следующую строку
  • i — игнорирование регистра

Нам нужно удалить ссылки из всего текстового поля description поэтому ставим галочку на g. Соединяем все это с pipe output, пайп готов.

модуль regex убирает ссылки из rss ленты

модуль regex убирает ссылки из rss ленты

А так выглядит конечный результат, в той же опере.

RSS без ссылок после обработки yahoo pipes

RSS без ссылок после обработки yahoo pipes

Как видим та же лента, но уже без единой ссылки. Учим регулярные выражения, здесь это очень полезно!

 

 

 

Написать ответ