Задать вопрос
@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

Спасибо тем, кто откликнется!
  • Вопрос задан
  • 127 просмотров
Подписаться 2 Простой 2 комментария
Решения вопроса 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)]
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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