#javascript #mongodb #express #mongoose #ejs
Вопрос:
У меня есть данные в базе данных (MongoDB), как это "name": "My name","desc": "<p>some description</p>rn"
и когда я хочу показать в файле ejs код, подобный этому <h2><%= pd.name %></h2> <%= pd.desc %>
, и он отобразится
Мое имя <p>некоторое описание<p></p>
Я попытался проверить элемент, который он показывает.. «<p>некоторое описание<p></p>»</p> как превратить str в html-тег
Комментарии:
1. Хотя я понятия не имею, как это сделать в ejs, концепция, с которой вы здесь имеете дело, называется «экранирование html-сущностей». Это мера безопасности, предназначенная для предотвращения инъекционных атак. Вы можете попробовать поискать в Google способ сообщить ejs, чтобы он отображал строку без экранирования. Но обратите внимание, что вам следует это делать только в том случае, если вы уверены, что там не будет вредоносной разметки (например, вы создаете весь контент, в этом поле не хранится пользовательский ввод).
Ответ №1:
Используйте <%-
вместо <%=
. Например,
<%- pd.desc %>
Вы также можете проверить другие варианты тегов в Ejs.