Регулярное выражение для соответствия блоку HTML - PullRequest
1 голос
/ 20 апреля 2011

Сначала я покажу вам пример кода, с которым я работаю:

<div class="entry">
        <p>Any HTML content could go here!</p>
      </div>
    </div><!--/post -->

Обычно я использовал бы правило регулярных выражений, такое как следующее, чтобы найти префикс и суффикс и захватить все между:

(?<=<div class="entry">).*(?=</div><!--/post -->)

Однако, похоже, что это не работает, так как кажется, что оно тянет пробел между следующими частями вместо самого содержимого HTML:

<div class="entry">
        <p>

Буду очень признателен за любую помощь / предложения, так как я уже несколько часов бьюсь головой об этом.

Большое спасибо заранее.

Ответы [ 2 ]

7 голосов
/ 20 апреля 2011

Не используйте Regex для разбора HTML . Вам нужен анализатор Xml или аналогичный.

Поиск Stackoverflow для лучшего, например, так: Надежный и зрелый анализатор HTML для PHP

0 голосов
/ 20 апреля 2011

Вы также можете рассмотреть php strip_tags () .

...