angularJS Wie kann ich bestimmte HTML-Tags ignorieren?

8

Ich habe diesen Fehler erhalten, weil einer der Benutzer in seinem Post <3

hinzugefügt hat
  

Fehler: [$ sanitize: badparse] Der Desinfizierer konnte den folgenden HTML-Block nicht analysieren: & lt; 3

Ich habe den Code ng-bind-html ="Detail.details"

geschrieben

Ich möchte, dass er nur <a> tag und tag <br />

genommen wird

Ist das möglich?

Danke!

    
Rafael Smith 20.03.2014, 12:45
quelle

3 Antworten

11

Sie können einen Filter erstellen, der Ihren HTML-Code bereinigt.

Ich habe darin die Funktion strip_tags benutzt Ссылка

%Vor%

Controller:

%Vor%

anzeigen:

%Vor%

Zypern

    
Goodnickoff 20.03.2014, 14:19
quelle
7

Ich hatte das gleiche Problem und habe es mit $sce.trustAsHtml behoben, siehe hierzu

%Vor%

Es behebt das Problem

    
Ali Adravi 16.08.2015 14:54
quelle
3

Um bestehendes Verhalten ng-bind-html ohne Absturz zu erhalten, können Sie die Ausnahme $sanitize:badparse abfangen.

Die ngBindHtml Komponente verwendet intern ngSanitize service . Inject $sanitize in Ihren Controller und fangen Sie es ab.

Der Vorteil gegenüber den $sce.trustAsHtml -Methoden ist, dass $sanitize keine potentiellen Sicherheitslücken (zB Javascript-Injektion) einführt.

Controller (inject $sanitize ):

%Vor%

Diese Methode könnte mit einem Cache des letzten bekannten guten Wertes verbessert werden.

Anzeigen:

%Vor%     
Glenn Murrary 25.11.2015 08:58
quelle

Tags und Links