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(строка) (обязательный)
- Текст, который нужно преобразовать.
Примеры
#1 Пример использования:
$text = "<span>(тег) '(кавычка) \"(двойная кавычка) &(амперсанд)"; echo esc_attr( $text ); // Вернет: // <span>(тег) '(кавычка) "(двойная кавычка) &(амперсанд)
#2 Пример учета двойного кодирования:
$text = "> and &"; echo esc_attr( $text ); // > and & echo htmlspecialchars( $text ); // &gt; and &amp;
#3 Пример очистки данных на выходе
<?php $fname = ( isset( $_POST['fname'] ) ) ? $_POST['fname'] : ''; ?> <input type="text" name="fname" value="<?php echo esc_attr( $fname ); ?>">
Список изменений
С версии 2.8.0 | Введена. |
Код esc_attr() esc attr WP 5.6.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 in an HTML attribute.
*
* Text passed to esc_attr() is stripped of invalid or special characters
* before output.
*
* @since 2.0.6
*
* @param string $safe_text The text after it has been escaped.
* @param string $text The text prior to being escaped.
*/
return apply_filters( 'attribute_escape', $safe_text, $text );
}