esc_js() — подготавливает строку для использования в JavaScript

Функция возвращает отформатированную строку, готовую для использования в JavaScript (не вызывающую ошибок в скриптах).

esc_js( $text );

$text
(строка) (обязательное) текст, который нужно обработать для дальнейшего использования в JavaScript-коде.

Итак, сначала разберемся, что именно делает эта функция:

  • экранирует одинарные кавычки: ' на \',
  • заменяет символы < > " & на &lt; &gt; &quot; &amp; соответственно,
  • фиксит конец строки, подставляя туда \n

Пример:

<?php
$text = "одинарная'кавычка
затем перенос строки и <b>html код</b>";
?>
<script>
	alert('<?php echo esc_js($text) ?>');
</script>

Если не использовать функцию esc_js() в этом примере, то в JavaScript будет ошибка и он не будет выполняться, у меня же получилось вот такое окно:

текст в сообщении alert

Если хотите удалить из результата эту фигню с HTML-кодом, тогда сначала пропустите переменную $text через PHP-функцию strip_tags, вот так:

<?php
$text = "одинарная'кавычка
затем перенос строки и <b>html код</b>";
?>
<script>
	alert('<?php echo esc_js( strip_tags( $text ) ) ?>');
</script>

То есть все HTML-теги, содержащиеся в строке, будут удалены ещё перед использованием esc_js(). В итоге имеем:

пример действия функций esc_js и strip_tags

Оставить комментарий / вопрос

phpjsHTMLCSSSQLПросто код
  Для того, чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или авторизуйтесь на сайте.
Получайте новости блога по email или следите за мной в социальных сетях.
  • Vladislav: Подправил имеющийся у меня код, по вашим рекомендациям, миниатюры начали отображаться, но они стали очень огромными, что...

  • Миша: Лишь предложил решение. Думаю можно нашаманить и так, чтобы чисто для рубрик было, не уверен только, что обойдётся без и...

  • Алексей: так надо комментарии в рубриках, а не на страницах в category.php а не в page.php

  • Миша: Здравствуйте! Сам WordPress это не поддерживает, но можно пойти хитрым путём. Первое, что пришло мне в голову, это:...

  • Алексей: Миша, здравствуйте! Подскажите, пожалуйста, что нужно, чтобы сделать комментарии на страницах рубрик. Я когда то давно...