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);

В итоге:

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

Источник: misha.blog

Миша Рудрастых

Путешествует по миру и рассказывает всем о WordPress лично, у себя в блогах и на курсах в Санкт-Петербурге. Умеет просто объяснять сложные вещи, делает это красиво. Организовывает неплохие WordCamp's, но совсем не умеет слушать чужие доклады.

Добавить комментарий

%d такие блоггеры, как: