2016-05-05 24 views
0

Ich bin ziemlich neu zu Lenker, also bitte mit mir blank.Entfernen <br> von Lenker Vorlage

Ich habe eine Vorlage, die aus einer Datenbank von einem CMS bevölkert ist. Ein CMS, wo die Leute, die die Daten eingeben, HTML nicht wirklich kennen, sie sagen nur, dass sie es tun. Daher werden sie eine Reihe von Break-Tags eingeben (falsch, wohlgemerkt), anstatt nur ihren Inhalt in einen Absatz einzufügen.

Ich importiere dann alles in eine nette kleine Vorlage, und benutze diese Daten, um Daten-Etiketten zu füllen, um auf Knöpfen und anderem Zeug anzuzeigen.

Ich habe ein paar Lenker Helpers gesehen, die sagen, dass sie eine Suche und ersetzen, aber ich habe keine Ahnung, wie man die Syntax IN meine Vorlage zu kompilieren mit grunt ohne es Fehler zu melden. Hier ist der Helfer ich verwenden wollte:

Handlebars.registerHelper('replace', function(find, replace, options) { 
    var string = options.fn(this); 
    return string.replace(find, replace); 
}); 

Nun ist diese ziemlich geradlinig aussieht, aber es gibt keine Dokumentation, wie man tatsächlich das Versteck in der Vorlage werfen andere als {{#replace}}

Der Parameter Ich versuche durchzuschauen ist {{caption}} und ich suche nach einer Instanz von '
' und ersetze sie durch ''.

Wenn ich den Stash so schreibe: {{#replace '<br>', '', caption}}, aber dann bekomme ich einen Parse-Fehler.

Vielen Dank im Voraus.

Antwort

1

Ich bin mir nicht sicher, ob Sie in dieser Situation einen Block Helfer verwenden möchten. Ich denke, die folgenden regulären Helfer tun würde:

Handlebars.registerHelper('replace', function (find, replace, context) { 
    return context.replace(new RegExp(find, 'g'), replace); 
}); 

Bitte beachte, dass ich ein RegExp bin mit, so dass wir alle Instanzen des find Text ersetzen können.

Sie würden dann diese Helfer in Ihrer Vorlage in folgenden Weise verwenden:

{{replace '<br>' ' ' caption}} 
+0

... jetzt habe ich immer „nicht erfasste Fehler: Fehlenden Helfer:‚ersetzen‘,“ und ich es gerade setzen in die Vorlage vor den Lenkerblöcken – Murphy1976

+0

Was bedeutet "in die Vorlage einfügen"? – 76484

+0

Ich habe Blöcke von Javascript an der Spitze der Vorlage, um alle Funktionen einzustellen, und JavaScript-Block an der Unterseite, die auf Dokument bereit. Im tatsächlichen Körper der Vorlage ist der Lenker Markup. – Murphy1976

Verwandte Themen