регулярное выражение для поиска тегов div - PullRequest
2 голосов
/ 06 августа 2010

Мне нужно регулярное выражение, которое найдет либо открывающий тег div, либо закрывающий тег div, либо оба на html-странице.Спасибо:)

Ответы [ 5 ]

3 голосов
/ 06 августа 2010

Просто чтобы быть в безопасности:

</? *div[^>]*>
1 голос
/ 06 августа 2010

Если вы можете использовать xpath , это будет //div Узнайте, как использовать синтаксический анализатор XML, который поддерживает его вместо регулярных выражений. Если вы ДОЛЖНЫ использовать регулярные выражения, используйте ответ coding_hero.

Просто для галочки, в PHP:

//$htmldoc is some xhtml document from somewhere
$xhtml = simplexml_load_file($htmldoc);
$divs = $xhtml->xpath('//div'); //grab simpleXMLElement from all divs in document
return $divs->asXML(); //returns xml of div elements and children
1 голос
/ 06 августа 2010

Вы можете начать с:

</?div>

Это не будет правильно обрабатывать:

  • пробельные
  • атрибутов в div
  • самозакрывающиеся теги div
  • заглавные буквы
  • теги внутри комментариев HTML, которые следует игнорировать
  • и т.д ...

Для правильной обработки HTML лучше использовать синтаксический анализатор HTML, а не регулярные выражения.

0 голосов
/ 27 февраля 2013

Чтобы найти открывающий и закрывающий тег div я бы использовал

</?\bdiv\b[^>]*>
0 голосов
/ 06 августа 2010

HTML, XHTML и XML не могут быть проанализированы с помощью регулярных выражений .Есть парсеры, разработанные для этого типа вещей.Если вы укажете язык (языки), который используете, я уверен, что кто-то может предложить правильный инструмент (ы) для работы, но я точно знаю, что регулярные выражения не будут в этом списке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...