esc_attr() WP 2.8.0

Перетворює знаки " ' < > &на html сутності. Не створює подвійного перетворення.

Функція призначена для фільтрації рядка, який планується виводити у значеннях HTML атрибутів.

Працює на основі:
_wp_specialchars()
Основа для:
esc_attr_e() ,
esc_attr__()
1 раз – 0.000001 сек
(швидкість світла) | 50000 разів – 0.17 сек
(дуже швидко) |
PHP 7.2.5, WP 4.9.8

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

Повертає

Строку. Очищений для використання в атрибуті HTML тега рядок.

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

<?php echo esc_attr( $text ) ?>
$text
(рядок) (обов’язковий)
Текст, який потрібно конвертувати.

Приклади

0

#1 Приклад використання:

$text = "<span>(тег) '(лапка) "(подвійна лапка) &(амперсанд)";
echo esc_attr($text);

// Поверне:
// <span>(тег) '(лапка) "(подвійна лапка) &(амперсанд)
0

#2 Приклад обліку подвійного кодування:

$text = "> and &";
echo esc_attr($text); // > and &
echo htmlspecialchars( $text ); // &gt; and &amp;
0

#3 Приклад очищення даних на виході

<?php $fname = (isset($_POST['fname'])))? $_POST['fname'] : ''; ?>
<input type="text" name="fname" value="<?php echo esc_attr( $fname ); ?>">
0

#4 Приклад очищення JSON даних

$qargs = [
	'per_page' => 50,
	'orderby' => [ 'volume_usd' => 'desc' ],
	'target_symbol' => 'foo',
];

$ json = json_encode ($ qargs);

$ esc = esc_attr ($ json);

echo htmlspecialchars( $esc );

// Виведе:
// {"per_page":50,"orderby":{"volume_usd":"desc"},"target_symbol":"foo"}

список змін

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

код esc_attr() WP 6.0.2

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