esc_js() WP 2.8
Подготавливает строку для использования в JavaScript. Чтобы уберечь от ошибок: экранирует кавычки, меняет символы " <> &
на спецсимволы HTML и поправляет окончание строки.
Полезна при использовании однострочного JS кода (в HTML атрибутах, например onclick='…'). Помните, что строка должна быть заключена в одинарные кавычки.
Работает на основе: _wp_specialchars()
Хуки из функции
Возвращает
Строку. Измененную строку.
Использование
esc_js( $text );
- $text(строка) (обязательный)
- Текст, который нужно изменить.
По умолчанию: нет
Примеры
#1. Пример работы esc_js():
$text = "кавычка ', двойная \", больше >, меньше <, амперсанд &"; echo esc_js($text); // вернет: кавычка \', двойная ", больше >, меньше <, амперсанд &
#2. Пример с HTML тегом input для формы.
Первый PHP сегмент использует функцию esc_attr() т.к. это строка в атрибуте, а второй сегмент использует esc_js(), т.к. строка предназначена для JS:
<input type="text" value="<?php echo esc_attr( $instance['input_text'] ); ?>" id="subbox" onfocus="if ( this.value == '<?php echo esc_js( $instance['input_text'] ); ?>') { this.value = ''; }" onblur="if ( this.value == '' ) { this.value = '<?php echo esc_js( $instance['input_text'] ); ?>'; }" name="email" />
Список изменений
С версии 2.8.0 | Введена. |
Код esc_js() esc js WP 5.6
function esc_js( $text ) {
$safe_text = wp_check_invalid_utf8( $text );
$safe_text = _wp_specialchars( $safe_text, ENT_COMPAT );
$safe_text = preg_replace( '/&#(x)?0*(?(1)27|39);?/i', "'", stripslashes( $safe_text ) );
$safe_text = str_replace( "\r", '', $safe_text );
$safe_text = str_replace( "\n", '\\n', addslashes( $safe_text ) );
/**
* Filters a string cleaned and escaped for output in JavaScript.
*
* Text passed to esc_js() is stripped of invalid or special characters,
* and properly slashed for 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( 'js_escape', $safe_text, $text );
}Cвязанные функции
Из метки: esc_ (очистка валидация)
Еще из раздела: Очистка данных
- sanitize_email()
- sanitize_file_name()
- sanitize_html_class()
- sanitize_option()
- sanitize_post_field()
- sanitize_text_field()