balanceTags()WP 0.71

Исправляет неправильно-введенные XHTML (HTML) теги.

Функция сначала проверяет опцию use_balanceTags, если она отключена, то функция ничего делать не будет. Для того, чтобы функция работала в любом случае нужно указать второй параметр $force=true.

Автоматическая балансировка XHTML тегов включается в опциях: Настройки > Написание > WordPress должен исправлять некорректный XHTML-код автоматически.

Работает на основе: force_balance_tags()
1 раз — 0.0001741 сек (быстро) | 50000 раз — 0.37 сек (очень быстро) | PHP 7.4.8, WP 5.8

Хуков нет.

Возвращает

Строку. Отформатированный текст.

Использование

<?php balanceTags( $text, $force ); ?>
$text(строка) (обязательный)
Строка, в которой нужно исправить XHTML (HTML) теги.
По умолчанию: ''
$force(логический)
true — функция будет исправлять теги в любом случае. false — функция будет работать только если включена опция в настройках.
По умолчанию: false

Примеры

0

#1 Пример того как функция меняет местами неправильно использованные html теги и как закрывает теги которые не были закрыты:

$text = "<p><b>Это текст в котором</p></b> html теги не сбалансированы.
<p>Т.е. есть которые открываются, но затем не закрываются, что может
привести к проблемам. Используем функцию <strong>balanceTags().";

echo htmlspecialchars( balanceTags($text, 1) );

Получим:

<p><b>Это текст в котором</b></p> html теги не сбалансированы.
<p>Т.е. есть которые открываются, но затем не закрываются, что может привести к проблемам. Используем функцию <strong>balanceTags().</strong></p>

Список изменений

С версии 0.71 Введена.

Код balanceTags() WP 6.5.2

function balanceTags( $text, $force = false ) {  // phpcs:ignore WordPress.NamingConventions.ValidFunctionName.FunctionNameInvalid
	if ( $force || (int) get_option( 'use_balanceTags' ) === 1 ) {
		return force_balance_tags( $text );
	} else {
		return $text;
	}
}