force_balance_tags() — закрывает все незакрытые HTML-теги в указанной строке, расставляет их в правильном порядке

Функция возвращает строку, в которой:

  • все 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>, а вот скриншот того, что получаем в итоге:

результат действия функции force_balance_tags

Как видите, все теги теперь закрыты.

А теперь пример с нарушенным порядком HTML-тегов:

$html = '<p><em><a href="#wordpress">WordPress</p></a></em>';
 
echo force_balance_tags($html);

В итоге:

исправленный порядок тегов

Оставить комментарий / вопрос

phpjsHTMLCSSSQLПросто код
  Для того, чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или авторизуйтесь на сайте.
Получайте новости блога по email или следите за мной в социальных сетях.
  • Миша: Добрый день! В принципе вам только немного нужно доработать код из этого поста - категории уже есть, цена - это и так...

  • eveniy: Добрый день Михаил, подскажите на примере как добавить свои произвольные поля в в вашу форму фильтрации: Я так понимаю...

  • Миша: Отлично! )

  • Дмитрий: сам разобрался: в настройках кастомного типа записи недавно оптимизировал настройки и переоптимизировал: в аргументе 'ta...

  • Дмитрий: У меня по какой-то причине пропало отображение (как в колонке меню слева, так и метабокс в записях ) раздела рубрик для...