Heim > Artikel > Web-Frontend > Wie kodiere ich HTML-Entitäten in JavaScript für ein konsistentes Rendering in Content-Management-Systemen?
Problem:
Ein Content-Management-System ermöglicht Benutzern die Eingabe von Inhalten mit Sonderzeichen wie ®, das möglicherweise in allen Browsern inkonsistent dargestellt wird. Das Ziel besteht darin, diese Zeichen in die entsprechenden HTML-Entitäten umzuwandeln und sie in ein einzuschließen. Tag für konsistentes Styling.
Lösungen:
Verwendung eines regulären Ausdrucks
Die regulären Ausdrücke von JavaScript bieten hierfür eine umfassende Lösung Aufgabe:
<code class="javascript">var encodedStr = rawStr.replace(/[\u00A0-\u9999<>\&]/g, function(i) { return '&#'+i.charCodeAt(0)+';'; });</code>
Dieser Code verwendet einen regulären Ausdruck, um nach Zeichen innerhalb eines Unicode-Bereichs (00A0-9999) sowie nach kaufmännischen Und-, Kleiner-als- und Größer-als-Symbolen zu suchen. Anschließend werden sie in HTML-Zeicheneinheiten umgewandelt, indem „“ vorangestellt und der Unicode-Wert angehängt wird.
Beispiel:
<code class="javascript">var result = encodeHTML('Test ® & ©'); // "Test <sup>&reg;</sup> &amp; <sup>&copy;</sup>"</code>
Anpassbare Ersetzungsfunktion
Für eine detailliertere Steuerung können Sie eine benutzerdefinierte Ersetzungsfunktion angeben:
<code class="javascript">var encodedStr = rawStr.replace(/[\u00A0-\u9999<>\&]/g, (i) => `<sup>&#${i.charCodeAt(0)};</sup>`);</code>
Diese Funktion schließt die HTML-Entität in ein ein. Tag mit spezifischer Formatierung.
Zusätzliche Überlegungen:
Dokumentation:
Das obige ist der detaillierte Inhalt vonWie kodiere ich HTML-Entitäten in JavaScript für ein konsistentes Rendering in Content-Management-Systemen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!