Функция возвращает строку, в которой:
- все HTML-теги закрыты,
- преобразованы одиночные теги, например
<br>и<hr>в<br />и<hr />соответственно, - все теги расположены в правильном порядке;
force_balance_tags( $text ) |
$text
(строка) (обязательное) строка с HTML-кодом, который требуется откорректировать.
Примеры использования
В качестве примера возьмем вот такой «недосписок» и пропустим его через функцию:
$html = '<ul class="list"> <li>обычный <li>маркированный <li>список <li>и тег<br>переноса на новую строку</li>'; echo force_balance_tags($html); |
Заметьте, в коде не хватает нескольких закрывающих тегов </li> и одного закрывающего </ul>, а вот скриншот того, что получаем в итоге:

Как видите, все теги теперь закрыты.
А теперь пример с нарушенным порядком HTML-тегов:
$html = '<p><em><a href="#wordpress">WordPress</p></a></em>'; echo force_balance_tags($html); |
В итоге:
Источник: misha.blog