esc_js()
Готує рядок для використання JavaScript. Щоб уберегти від помилок: екранує лапки, змінює символи " <> &
на спецсимволи HTML і виправляє закінчення рядка.
Корисна при використанні однорядкового JS коду (в HTML атрибутах, наприклад, onclick=’…’ ). Пам’ятайте, що рядок повинен бути поміщений в одинарні лапки.
Працює на основі:
_wp_specialchars()
_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 WP 6.0.2
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 Цей текст після того, як він був escaped. * @param string $text Текст орієнтованого на escaped. */ return apply_filters( 'js_escape', $safe_text, $text ); }