htmlEntities für JavaScript

Avatar of Chris Coyier
Chris Coyier am

htmlentities() ist eine PHP-Funktion, die Sonderzeichen (wie <) in ihre maskierten/kodierten Werte (wie &lt;) umwandelt. Dies ermöglicht es Ihnen, die Zeichenkette so anzuzeigen, dass der Browser sie nicht als HTML interpretiert.

JavaScript hat keine native Version davon. Wenn Sie nur die allernötigsten Dinge benötigen, damit der Browser sie nicht als HTML interpretiert, sollte dies funktionieren (von James Padolsey und ich hatte eine ähnliche Idee von David Walsh).

function htmlEntities(str) {
    return String(str).replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
}

Das PHP.js-Projekt, das alle nativen PHP-Funktionen nach JavaScript portiert, enthält ebenfalls ein Beispiel. Ich habe es ausprobiert und es funktioniert, aber mir wurde gesagt, dass viel von dem Code dieses Projekts schlecht geschrieben ist, daher habe ich es einfach gehalten und das obige verwendet.