Jeśli używasz Node, czytaj dalej.
Zainstaluj js-htmlencode pakiet:
npm install -S js-htmlencode
Następnie uruchom nieprzetworzone dane wyjściowe bazy danych przez htmlDecode
metoda raz. Powinieneś to zrobić w swojej aplikacji serwerowej przed przekazaniem danych do skryptu Pug:
Serwer 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.mops:
html
head
body
h3 Html Decoding Twice
p Using !: !{raw}
p Using #: #{raw}
p Final: !{decoded}
Rzeczywista wydajność:
Należy zauważyć, że !{raw}
nie renderuje do <h1>…
. Renderuje dosłownie, tj. do <h1>…
. To przeglądarka wyświetla <
jako <
.
Zwróć uwagę na wszystkie ostrzeżenia związane z używaniem !
operatora.