2015-02-17 9 views
20

Dlatego chcę zachować podział linii z bazy danych podczas korzystania z silnika szablonu Blade. Wpadłem na pomysł używającJak korzystać z nl2br() w Laravel 5 Blade

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

To działa. Ale wygląda na niepotrzebnie skomplikowane rozwiązanie. Czy istnieje lepszy sposób?

Odpowiedz

20

Można zdefiniować własne echo „format”, który będzie używany z regularnych treści tagów{{ ... }}. Domyślnym formatem jest e(%s) (sprintf służy zastosować formatowanie)

to zmienić wywołanie formatu setEchoFormat() wewnątrz usługodawcy:

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

Teraz możesz po prostu użyć zwykłych znaczników echa:

{{ $task->text }} 

Dla echa nie chcesz nl2br() zastosowane, należy potrójne wsporniki {{{ ... }}}


Aby włączyć funkcję wsporników (potrójne i podwójne) wokół, to zrobić:

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

niesamowite! Czy jest też sposób na zamianę? Używając tylko potrójnych nawiasów dla nl2br? – jascha

+0

Pewnie. Zobacz edytowaną odpowiedź. – lukasgeiter

+0

Jesteś świetny. Wielkie dzięki. – jascha

Powiązane problemy