因此,我希望在使用刀片模板引擎时保留数据库中的换行符。我想出了这个想法
{!! nl2br(e($task->text)) !!}
有用。但它看起来像一个不必要的复杂解决方案。有没有更好的办法?
您可以定义自己的“回声格式”,它将与常规内容标签{{ ... }}
一起使用。默认格式为e(%s)
(sprintf
用于应用格式)
要更改该格式,请在服务提供商内部调用setEchoFormat()
:
public function boot(){
\Blade::setEchoFormat('nl2br(e(%s))');
}
现在你可以使用普通的echo标签:
{{ $task->text }}
对于你不希望应用nl2br()
的回声,使用三重括号{{{ ... }}}
要切换括号(三重和双重)的功能,请执行以下操作:
\Blade::setContentTags('{{{', '}}}');
\Blade::setEscapedContentTags('{{', '}}');
简单的方法适用于Laravel 4 + Laravel 5。
{!! nl2br(e($task->text)) !!}