Escape-HTML-Text in einer AngularJS-Direktive

Gibt es einen eckigen JS-Befehl, mit dem HTML-Code für Text maskiert wird? Ich verarbeite gerade eine benutzerdefinierte Direktive und muss einen Teil der von ihr erzeugten Ausgabe umgehen.

Intern verwendet der AngularJS-Sanitzer eine Funktion encodeEntities, macht sie jedoch nicht verfügbar. Ich weiß, dass ich die Funktion duplizieren könnte, aber es scheint, dass es eine Standardmethode dafür geben sollte.

Anwendungsfall: Ich habe eine benutzerdefinierte Direktive, die die Sprachlokalisierung ausführt. Diese Anweisung verwendet eine Schlüsselsuche aus einer Datendatei, um nach Sprachtext zu suchen. In einigen Fällen darf dieser Text HTML enthalten, und / oder die Direktive erzeugt HTML, um die resultierende visuelle Formatierung zu verbessern. Darüber hinaus verwendet diese Direktive Angular-Ausdrücke als Parameter und ersetzt Token in den Zeichenfolgen. Ich muss diese Parameter verschlüsseln, da sie möglicherweise nicht HTML-sicher sind.

Die Direktive wird beispielsweise als Attribut aufgerufeni18n-html='welcome_text_html,1+1,user.name'. Die Direktive formatiert dann den String wie beschrieben und verwendet ihnelement.html um den DOM-Knoten zu aktualisieren.

Antworten auf die Frage(8)

Ihre Antwort auf die Frage