Si vous utilisez Node, lisez la suite.
Installez le js-htmlencode paquet :
npm install -S js-htmlencode
Ensuite, exécutez votre sortie de base de données brute via le htmlDecode
méthode une fois. Vous devriez le faire dans votre application serveur avant de transmettre les données à votre script Pug :
Javascript du serveur :
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}
Sortie réelle :
Il convient de noter que !{raw}
ne s'affiche pas en <h1>…
. Il rend littéralement, c'est-à-dire <h1>…
. C'est le navigateur qui affiche <
comme <
.
Prenez note de toutes les précautions qui accompagnent l'utilisation du !
opérateur.