@MasterCopipaster

Как дописать регулярное выражение для поиска внутри тэга?

Народ помогите ни как не могу допереть как написать ригулярку.
Мне надо найти все что находится в между тэгами
<div class="WYSIWYG articlePage"> </div>
https://regex101.com/r/3YMWU6/1
Еще пробовал вот так
<([^\s]+)[\s+]class="(.*?)articlePage"[^>]*>([\s\S]*)<\/\1>

Но все идет по бороде если искомый тэг вложен в другой тэг...
<div><div class="WYSIWYG articlePage"> </div></div>
  • Вопрос задан
  • 62 просмотра
Решения вопроса 1
@MasterCopipaster Автор вопроса
Короче вот так работает
#<div\s+class="(.*?)articlePage">[^<>]*(<div[^>]*>(?:[^<>]*|(?1))*</div>)[^<>]*</div>#si
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Регулярные выражения плохо подходят для разбора рекурсивно вложенных структур.
Для работы с HTML лучше использовать специализированные библиотеки/функции, например Simple DOM Parser для PHP или AngleSharp для C#.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы