Удалить все внутренние ссылки сайта

Тема в разделе "Функции поиск-замены и регулярные выражения", создана пользователем J!Life, 29 май 2020.

  1. J!Life

    J!Life Модератор Команда форума Модератор

    Регистрация:
    6 дек 2013
    Сообщения:
    83
    Работаю с CD уже не первый год, но с регулярками как то "не пошло", простые использую часто.

    Есть статья в которой есть внутренние ссылки сайта, который парсишь, и есть внешние
    Нужно удалить все внутренние ссылки, оставив сам текст ссылки, внешние ссылки не трогаем вообще. Внутри тега a могут быть и классы и другие параметры в разном месте (до href, после href), их так же нужно оставить (на внешних ссылках).
    Код:
    <a href="http://google.com" class="qwe">link</a>
    <a class="asd" href="http://google.com" data-id="3">link</a>
    <a href="http://yandex.com" id="zxc">link</a>
    По идее исключение целого слова, но... лыжи не поехали):
    Код:
    (?!google)
     
  2. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.431
    Адрес:
    Latvia
    Код:
    re:<a([^<>]+)google([^<>]+)>(.*?)</a>|<na$1google$2>$3</na>
    re:<a.*?</a>|
    <na|<a
    </na|</a
     
    J!Life нравится это.
  3. J!Life

    J!Life Модератор Команда форума Модератор

    Регистрация:
    6 дек 2013
    Сообщения:
    83
    Все в точности да наоборот))
    Спасибо за решение, код исправил
    Код:
    re:<a([^<>]+)google([^<>]+)>(.*?)</a>|<na$1google$2>$3</na>
    re:<na.*?</na>|
    
     
    kagorec нравится это.

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