symfony2 Zweig Whitelist HTML-Tags

8

Ich übergebe eine Variable an meine Zweig-Vorlage in Symfony2, diese Variable kann <br /> html-Tags enthalten, ich habe versucht, eine Erweiterung (Funktion) zu erstellen, aber die Variable wird weiterhin maskiert.

Wie kann ich eine Zweigvariable ausgeben, die das <br /> -Tag erlaubt? Gibt es eine einfache Lösung, um nur eine weiße Liste zulässiger Tags in bestimmten Vorlagen zuzulassen?

Ich habe nach Zweig-Sandboxen gesucht, bin mir aber nicht sicher, ob das meine Lösung ist.

edit: Ich möchte weiterhin, dass die Variable maskiert wird, aber ausschließlich das <br /> -Tag zulässt.

    
jonv1 03.11.2011, 19:22
quelle

5 Antworten

0

Zuerst dachte ich, es wäre möglich, benutzerdefinierte Escape-Strategien zu schreiben, damit Sie so etwas tun können:

%Vor%

Leider ist das nicht der Fall. Nur verfügbare Strategien sind html und js. Sie sind in der Funktion twig_escape_filter() fest codiert, die in einer Twig_Extension_Core -Klassendatei definiert ist.

Es scheint, dass Ihre einzige Option darin besteht, benutzerdefinierte Estension mit einem neuen Filter zu schreiben:

%Vor%

Hier ist ein Beispiel für eine benutzerdefinierte Zweig-Erweiterung und wie man sie in Symfony registriert: Symfony2 Twig extension

    
Jakub Zalas 06.11.2011, 09:21
quelle
34

Tatsächlich können Sie die native PHP-Funktion strip_tags verwenden, indem Sie folgen:

%Vor%

Sie können mehrere Tags mit folgendem Code zulassen:

%Vor%     
Artem L 08.02.2012 14:06
quelle
3

Das kannst du so machen:

%Vor%

Zum Beispiel

%Vor%

wird nicht entkommen

%Vor%

und

%Vor%

wird nicht entkommen

%Vor%

usw.

    
Benjamin J. Benoudis 26.12.2012 04:41
quelle
1
%Vor%

funktioniert gut, aber ich weiß nicht, wie man mit diesem Zweigfilter ein Array an die php-Funktion strip_tags übergibt.

beide

%Vor%

und

%Vor%

löst beim Rendern einer Vorlage eine "Array to string conversion" -Ausnahme aus.

Seien Sie auch vorsichtig, dass strip_tags php function HTML-Attribute wie "onclick" nicht freigibt.

    
Daniel 20.08.2012 19:08
quelle
0
%Vor%

und / oder

%Vor%

nl2br-Referenz

    
thpoul 10.07.2013 11:34
quelle