"Поиск-замена" - замена ссылок в контенте по условию

Тема в разделе "Решение различных задач по парсингу", создана пользователем infernalrain, 6 фев 2019.

Метки:
  1. infernalrain

    infernalrain New Member Пользователи

    Регистрация:
    5 янв 2016
    Сообщения:
    21
    Здравствуйте.
    Паршу различный информационный контент. Внутри контента встречаются ссылки на сторонние сайты.
    Я их убираю простой конструкцией в поиске-замене:
    <a {skip}>{skip}</a>|{skip}

    Но бывает так, что есть ссылки на ролики в Ютюбе и они вырезаются.

    Можно ли сдлеат ьтак, что бы проходила проверка в блоке поиска-замены: если в условии <a {skip}>{skip}</a>|{skip} на месте skip присутствует "youtube.com", то замену производить не нужно.
     
  2. aresa

    aresa Well-Known Member Пользователи

    Регистрация:
    17 окт 2015
    Сообщения:
    180
    Добрый день!
    С такой задачей легко справится макрос ckeckentry.
    Ссылки недоступны для гостей
     
  3. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    [CHECKENTRY] тут не поможет.
     
  4. kagorec

    kagorec Администратор Команда форума Администратор

    Регистрация:
    3 янв 2011
    Сообщения:
    4.431
    Адрес:
    Latvia
    Решение предлагаю такое, в виде 3 замен с регулярными выражениями:
    Код:
    re:<a([^<>]+)(youtube\.com)([^<>]+)>(.*?)</a>|<p@@@$1$2$3>$4</p@@@>
    re:<a[^<>]+>.*?</a>|
    p@@@|a
    [​IMG]
     
    pomansur, xLime и Root нравится это.

Поделиться этой страницей