Heim > Web-Frontend > js-Tutorial > Wie kann man HTML-Sonderzeichen in JavaScript effektiv maskieren?

Wie kann man HTML-Sonderzeichen in JavaScript effektiv maskieren?

Linda Hamilton
Freigeben: 2024-11-22 09:54:14
Original
938 Leute haben es durchsucht

How to Effectively Escape HTML Special Characters in JavaScript?

JavaScript-Äquivalent von PHPs HtmlSpecialChars

In PHP wird die Funktion htmlspecialchars verwendet, um Sonderzeichen wie <, >, und & in HTML-Entitäten. Beispiel: < wird zu <.

JavaScript verfügt nicht über eine integrierte Funktion, die das Verhalten von htmlspecialchars genau nachbildet. Das nächste Äquivalent ist die Verwendung einer benutzerdefinierten Funktion, die die folgenden Schritte ausführt:

  1. Ersetzen Sie & durch &.
  2. Ersetzen Sie < durch <.
  3. Ersetzen Sie > durch >.

  4. Ersetzen Sie „ durch ".
  5. Ersetzen Sie ' durch '.
  6. Eine mögliche Implementierung einer solchen Funktion ist:

    function escapeHtml(text) {
      return text
          .replace(/&amp;/g, "&amp;amp;")
          .replace(/</g, "&amp;lt;")
          .replace(/>/g, "&amp;gt;")
          .replace(/&quot;/g, "&amp;quot;")
          .replace(/'/g, "&amp;#039;");
    }
    Nach dem Login kopieren

    Diese Funktion maskiert alle Vorkommen der angegebenen Sonderzeichen. Es ist jedoch wichtig zu beachten, dass sie nicht alle möglichen Sonderzeichen maskiert Es entgeht beispielsweise nicht dem Zeichen „ “, das zur Darstellung von Leerzeichen in URLs verwendet werden kann.

    Für eine bessere Leistung, insbesondere bei großen Textblöcken, können Sie einen Lookup-Table-Ansatz verwenden:

    function escapeHtml(text) {
      var map = {
        '&': '&amp;',
        '<': '<',
        '>': '>',
        '"': '&quot;',
        "'": '&amp;#039;'
      };
      
      return text.replace(/[&<>"']/g, function(m) { return map[m]; });
    }
    Nach dem Login kopieren

    Dieser Ansatz reduziert den Umfang der erforderlichen Zeichenfolgenmanipulation, was zu einer verbesserten Leistung führt.

    Das obige ist der detaillierte Inhalt vonWie kann man HTML-Sonderzeichen in JavaScript effektiv maskieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage