@artr_lr

Парсинг html-кода с помощью regexp?

Приходят данные в виде строки, которые представляют из себя html-код (довольно большой).
Как из этой строки извлечь содержимое например блока <div class="content"></div> ?
Первое пришедшее решение было типо такого /(<div class="content">)([\s\S]*?)<\/div>/ .
Но оно берёт и сам тэг и не работает если в блоке есть другие блоки-дивы! Идея с ленивыми/жадными квантификаторами как-то не выглядит хорошей. В первом случае будет браться до самого последнего закрывающего дива, во втором до первого же... А как сделать, чтобы учитывались внутренние блоки и не бралась основная обёртка?
  • Вопрос задан
  • 1246 просмотров
Решения вопроса 1
DevMan
@DevMan Куратор тега Регулярные выражения
для пасинга html давно придуманы dom-парсеры.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@deliro
Агрессивное программирование
YOU CAN'T PARSE HTML WITH REGEX

Большие файлы парсятся SAX парсерами. Но реально большие, а не 5мб страничка.
Ответ написан
Ваш ответ на вопрос

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

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