如何使用Blade动态生成HTML

Dal*_*lin 2 php laravel blade

在Laravel 5和Blade中,我使用带有textarea的表单将文本存储在mysql数据库中,然后将其显示回用户.我希望能够保留回车.我尝试了使用nl2br()函数的简单方法,该函数用
标记替换了\ r \n :

public function setBodyAttribute($data){

    $this->attributes['body'] = nl2br($data);

}
Run Code Online (Sandbox Code Playgroud)

似乎Blade不允许html显示为HTML.

{{ $example->body }}
Run Code Online (Sandbox Code Playgroud)

解决这个问题的最佳方法是什么?

pat*_*cus 7

既然您提到了Laravel 5,您正在寻找:

{!! $example->body !!}
Run Code Online (Sandbox Code Playgroud)

在Laravel 4中,{{ $data }}将按原样回显数据,而{{{ $data }}}在运行之后回显数据htmlentities.

但是,Laravel 5已对其进行了更改,以便{{ $data }}在运行之后回显数据htmlentities,并且新语法{!! $data !!}将按原样回显数据.

文档在这里.