2015-02-17 8 views
20

Also ich möchte Zeilenumbrüche aus der Datenbank während der Verwendung der Blade Template Engine beibehalten. Ich kam auf die Idee mitWie benutze ich nl2br() in Laravel 5 Blade

{!! nl2br(e($task->text)) !!} 

Es funktioniert. Aber es sieht wie eine unnötig komplizierte Lösung aus. Gibt es einen besseren Weg?

Antwort

20

Sie können ein eigenes "Echoformat" definieren, das mit den normalen Inhalts-Tags {{ ... }} verwendet wird. Das Standardformat ist e(%s) (sprintf wird verwendet, um die Formatierung angewendet werden)

Um dieses Format zu ändern Anruf setEchoFormat() innerhalb eines Dienstleisters:

public function boot(){ 
    \Blade::setEchoFormat('nl2br(e(%s))'); 
} 

Jetzt können Sie nur die normalen Echo Tags verwenden:

{{ $task->text }} 

Für echos Sie nicht nl2br(), die dreifache Klammern {{{ ... }}}

verwenden angewendet werden soll

Um die Funktion der Konsolen (Dreier- und Doppel) um zu wechseln, dies zu tun:

\Blade::setContentTags('{{{', '}}}'); 
\Blade::setEscapedContentTags('{{', '}}'); 
+0

Awesome! Gibt es auch eine Möglichkeit, es zu tauschen? Verwenden Sie nur dreifache Klammern für die nl2br? – jascha

+0

Sicher. Siehe die bearbeitete Antwort. – lukasgeiter

+0

Sie sind fantastisch. Danke vielmals. – jascha

Verwandte Themen