Ако използвате Node, прочетете.
Инсталирайте js-htmlencode пакет:
npm install -S js-htmlencode
След това стартирайте необработения изход от базата данни чрез htmlDecode
метод веднъж. Трябва да го направите във вашето сървърно приложение, преди да предадете данните на вашия Pug скрипт:
Javascript на сървъра:
const htmlDecode = require("js-htmlencode").htmlDecode;
app.get("/htmldecode", (req, res) => {
const raw = "<h1>This is <span style='color:red'>RED</span>!!</h1>"
res.render("htmldecode", { raw: raw, decoded: htmlDecode(raw) })
});
htmldecode.pug:
html
head
body
h3 Html Decoding Twice
p Using !: !{raw}
p Using #: #{raw}
p Final: !{decoded}
Действителен резултат:
Трябва да се отбележи, че !{raw}
не се изобразява в <h1>…
. Рендира буквално, т.е. на <h1>…
. Браузърът показва <
като <
.
Обърнете внимание на всички предпазни мерки, свързани с използването на !
оператор.