Работа с заменой - как указать любой символ или несколько любых символов

Тема в разделе "Решение различных задач по парсингу", создана пользователем madison21, 5 ноя 2017.

  1. madison21

    madison21 Member Пользователи

    Регистрация:
    17 июл 2017
    Сообщения:
    63
    Ребят, подскажите каким образом в замене указывать любой символ или набор любых символов?

    То есть..
    Когда мне надо удалить тег <p> то я использую
    <p>|

    Но в моём проекте есть множество вариантов тегов <p> и <div>
    <p style="text1">
    <p style="text2">
    <div id="text3" >
    <div id="text4">

    Как мне задать в замене, чтобы указать тег <p> с любым аттрибутом <p любой аттрибут>

    И ещё...
    В спарсенном описании к товару есть фраза в конце описания, после которой идёт всякая белиберда, и каждый раз разная.
    Как мне в замене указать, чтобы после фразы например <p>Любая фраза</p> всё можно было бы удалить, что после неё?

    Благодарю.
     
  2. xLime

    xLime Well-Known Member Супер Модератор Модератор

    Регистрация:
    4 сен 2017
    Сообщения:
    407
    Добрый день.
    Обратите внимание на галочку HTML to text в дополнительных настройках границ.
    Изучите работу {get} и {skip}
    Код:
    <p{skip}>|
    >{get}<|{get}
    Код:
    {get}фраза|{get}
     
    madison21 и Root нравится это.
  3. madison21

    madison21 Member Пользователи

    Регистрация:
    17 июл 2017
    Сообщения:
    63
    Огромное спасибо!
     
  4. madison21

    madison21 Member Пользователи

    Регистрация:
    17 июл 2017
    Сообщения:
    63
    Вы знаете, я попробовал, но у меня не вышло желаемое.
    Когда я использую в замене
    <p{skip}>|
    то удаляются все теги p

    мне же необходимо, чтобы теги p чистые оставались
    <p>
    а убирались только те, у которых есть любой аттрибут
    <p class="...">
    <p style="...">

    Подскажите, возможно ли так сделать?
     
  5. aresa

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

    Регистрация:
    17 окт 2015
    Сообщения:
    180
    Захватите после <p пробел и " перед знаком > и между ними skip поставьте
    <p {skip}">|

    Эти тэги удалятся, останутся только тэги <p>
     
  6. madison21

    madison21 Member Пользователи

    Регистрация:
    17 июл 2017
    Сообщения:
    63
    Благодарю!
     
  7. Dumka

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

    Регистрация:
    8 фев 2012
    Сообщения:
    121
    Изучайте регулярные выражения!
    Код:
    re:<(p{sep}div{sep}h\d)[^>]*?>|<${1}>
    Вот в этой часте (p{sep}div{sep}h\d) пишите любые нужные теги... {sep} - разделитель

    А еще в CD есть макрос CLEARTAGSATTRS - поизучайте на досуге справку по нему :)
     
    xLime и Root нравится это.
  8. madison21

    madison21 Member Пользователи

    Регистрация:
    17 июл 2017
    Сообщения:
    63
    Большое спасибо, буду изучать мат.часть.
    Я и до своего вопроса тоже читал и смотрел, но немного тяжеловато пока.
    На примерах тренируюсь живых))
    Всем спасибо за советы!
     
    Dumka и Root нравится это.

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