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.
