esc_attr()
Перетворює знаки " ' < > &на html сутності. Не створює подвійного перетворення.
Функція призначена для фільтрації рядка, який планується виводити у значеннях HTML атрибутів.
Працює на основі:
_wp_specialchars()
_wp_specialchars()
1 раз – 0.000001 сек
(швидкість світла) | 50000 разів – 0.17 сек
(дуже швидко) |
PHP 7.2.5, WP 4.9.8
(швидкість світла) | 50000 разів – 0.17 сек
(дуже швидко) |
PHP 7.2.5, WP 4.9.8
Хуки з функції
Повертає
Строку. Очищений для використання в атрибуті HTML тега рядок.
Використання
<?php echo esc_attr( $text ) ?>
- $text
(рядок) (обов’язковий) - Текст, який потрібно конвертувати.
Приклади
#1 Приклад використання:
$text = "<span>(тег) '(лапка) "(подвійна лапка) &(амперсанд)"; echo esc_attr($text); // Поверне: // <span>(тег) '(лапка) "(подвійна лапка) &(амперсанд)
#2 Приклад обліку подвійного кодування:
$text = "> and &"; echo esc_attr($text); // > and & echo htmlspecialchars( $text ); // > and &
#3 Приклад очищення даних на виході
<?php $fname = (isset($_POST['fname'])))? $_POST['fname'] : ''; ?> <input type="text" name="fname" value="<?php echo esc_attr( $fname ); ?>">
#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() 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);
}