Mustache.js: замена <и> на <и>

Созданный на 5 авг. 2011  ·  5Комментарии  ·  Источник: janl/mustache.js

Некоторые из моих объектов данных используют готовый HTML с обычными тегами, окруженными «<» и «>». Mustache.js преобразует их в &lt; и &gt; . Выполнение String.replace(/&gt;/g,'>').replace(/&lt;/g,'<') на результирующем выходе приводит к значительному запаздыванию.

Это ожидаемое поведение? Можно ли изменить его, чтобы сохранить символы <и>? Следует ли как-то избежать этих символов?

Самый полезный комментарий

Вывод данных с помощью {{data}} (двойные усы) всегда экранирует символы HTML. Используйте {{{data}}} (тройные усы), если не хотите, чтобы оно экранировалось.

Все 5 Комментарий

Вывод данных с помощью {{data}} (двойные усы) всегда экранирует символы HTML. Используйте {{{data}}} (тройные усы), если не хотите, чтобы оно экранировалось.

о, круто! Я этого не знал. спасибо, thedufer.

@ amper5and : обратите внимание, что если вы используете {{{ data }}} это _ва__ ответственность за то, чтобы убедиться, что вы не создаете уязвимости XSS или CSRF, поскольку вы обходите механизм, предназначенный для предотвращения этого :)

Кроме того, я считаю, что синтаксис {{&data}} эквивалентен, хотя я никогда его не использовал.

это круто👍 !!!

Была ли эта страница полезной?
0 / 5 - 0 рейтинги