PHP получает все незакрытые теги HTML в строке - PullRequest
0 голосов
/ 29 сентября 2010

Как я могу получить все незамкнутые теги в данной строке, желательно в том порядке, в котором они должны быть закрыты?

Примечание: учтите, что в HTML нет ошибок, и он был просто обрезан после X символов. Нет, это не случай плохого HTML или перекрывающихся тегов и т. Д. Также не будет конца

Пример: <p><span>Lorem</span><b>ipsum --- возврат ---> </b></p>
-ИЛИ-
<ul><li>1</li><li>2 --- возврат ---> </li></ul>

Так что, если строка будет объединена с выводом функции, она заново создаст действительный HTML.

Я не уверен, что RegExp справится с этой задачей, в основном я хочу получить что-нибудь между <и>, у которого нет соответствующего закрывающего тега </>.

Спасибо.

1 Ответ

3 голосов
/ 29 сентября 2010

Это не простая задача. Возможно, вы захотите взглянуть на Tidy :

Tidy - это привязка к Tidy HTML чистая и ремонтная утилита, которая позволяет Вы не только чистите, но и иначе манипулировать HTML-документами, но также пройти по дереву документов.

http://php.net/manual/en/book.tidy.php

...