Задать вопрос
@strihenko

Как исключить слово?

Есть шаблон:
'/(<h3>.*?<\/h3>)(.*?)(<p>.*?<\/p>)/ism'
Оно ищет подобные куски
<h3>Header</h3>
<img />
<p>some text</p>

Но мне нужно чтобы он пропустил это
<h3>Header</h3>
<img />
<div class="my-class">content</div>
<p>some text</p>

Т.е. там где содержится my-class

Спасибо тем, кто откликнется!
  • Вопрос задан
  • 129 просмотров
Подписаться 2 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
@dodo512
https://regex101.com/r/4m2Rdh/1
'~(<h3>(?:(?!</?h3).)*</h3>)((?:(?!my-class).)*?)(<p>.*?</p>)~is'


https://regex101.com/r/4m2Rdh/2
'~(<h3>.*?</h3>)((?:my-class(*SKIP)(*F)|.)*?)(<p>.*?</p>)~is'


https://regex101.com/r/4m2Rdh/3
'~(?>(<h3>.*?</h3>)((?:my-class()|.)*?)(<p>.*?</p>))(?!\3)~is'
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
ns174ru
@ns174ru
https://ns174.ru
[^(my-class)]
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы