esc_html() WP 2.8.0

Замінює спецсимволи на HTML сутності переданому тексті, повертає відформатований текст. Замінюються такі символи: ", ', &, <, >.

Що замінюєтьсяНа що замінюється
&(амперсанд)&
"(подвійна лапка)
'(одинарна лапка)
<(менше)<
>(більше)>

Також, функція перевірять текст на наявність у ньому неправильного кодування utf-8 та, по можливості, намагається виправити.

Якщо потрібно навпаки декодувати: перетворити сутності на символи, використовуйте wp_specialchars_decode()

Якщо прогнати через функцію масив, вона зруйнує його:

$ arr = array (5, 6);
$ arr = esc_html ($ arr); // $arr перетворитися на рядок "Array"

Функція працює на основі htmlspecialchars() і змінює параметри за промовчанням. Так htmlspecialchars() робить подвійне перетворення, а esc_html() немає:

echo esc_html( '& - &' ); //> & - &
echo htmlspecialchars( '& - &' ); //> & - &amp;

esc_html() – це заміна для застарілої функції wp_specialchars() .

Працює на основі:
_wp_specialchars() ,
wp_check_invalid_utf8()
Основа для:
esc_html_e() ,
esc_html__()
1 раз – 0.000037 сек
(дуже швидко) | 50000 разів – 0.27 сек
(дуже швидко) |
PHP 7.0.2, WP 4.4.1

Хуки з функції

Повертає

Строку. Відформатований текст.

Використання

esc_html($text);
$text
(рядок) (обов’язковий)
Текст для форматування.

Приклади

0

#1 Показовий приклад:

$text = "<p><b> Це "Makes Sense" & 'Має сенс'!</b></p>";
echo esc_html($text);

/* Отримаємо:
<p><b> Це "Makes Sense" & 'Має сенс'!</b></p>
*/

список змін

З версії 2.8.0Введено.

код esc_html() WP 6.0.2

function esc_html( $text ) {
	$safe_text = wp_check_invalid_utf8( $text );
	$safe_text = _wp_specialchars( $safe_text, ENT_QUOTES );
	/**
	 * Filters a string cleaned і escaped for output в HTML.
	 *
	 * Text passed to esc_html() is stripped of invalid or special characters
	 * Попереду output.
	 *
	 * @ Since 2.8.0
	 *
	 * @param string $safe_text Цей текст після того, як він був escaped.
	 * @param string $text Текст орієнтованого на escaped.
	 */
	return apply_filters( 'esc_html', $safe_text, $text );
}