LENKER Helfer - Rückgabe HTML-text nicht
Schrieb ich eine einfache Helfer für mein template. Hier ist der code:
Handlebars.registerHelper('splitQuote', function (string) {
if (string.indexOf('|') !== -1) {
return string.replace('|', '<span>') + '</span>';
}
return string;
});
Also habe ich eine Zeichenfolge übergeben, und teilen Sie die Zeichenfolge, die durch ' | ' - Zeichen. Ich will auch put zweite Teil in span-tags.
Problem ist, das Ergebnis, das zurückgegeben werden, ist reiner text, so bekomme ich die span-tags wie ein text, nicht HTML.
Weiß jemand, was ist der Haken?
Tnx
InformationsquelleAutor der Frage Adrian | 2013-11-20
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie haben, um die Zeichenfolge als html in Ihre Helfer, wenn Sie wollen, LENKER nicht zu entkommen. Verwenden
LENKER.safeString
dies zu tun. Die unten sollten Ihren BedürfnissenWie bereits erwähnt in den Kommentaren, sollten Sie wahrscheinlich die Flucht der übergebene string mit
Handlebars.Utils.escapeExpression(string)
zu Kodieren Sie die Zeichenfolge, bevor Sie Ihre benutzerdefinierte Formatierung. Ich würde empfehlen zu schreiben wie diese:InformationsquelleAutor der Antwort megawac
Brauchen Sie nicht zu verwenden
SafeString
. Verwenden Sie stattdessen die "triple Schnurrbart" aus LENKER:Vom LENKER-WebsiteHTML-Escaping Abschnitt:
LENKER HTML-escapes Werte, die von einem {{Ausdruck}}. Wenn Sie nicht wollen, LENKER, zu entkommen, ein Wert, verwenden Sie die "triple-stash", {{{.
So, eine einfache dreifach-Anführungszeichen in Ihre html-vermeiden der Flucht:
InformationsquelleAutor der Antwort Mendes