Laravel 5回显出包含刀片中html的会话变量

Web*_*ect 10 php laravel blade laravel-5

我在laravel中进行了重定向:

return redirect('admin')->with($returnData);
Run Code Online (Sandbox Code Playgroud)

$ returnData是一个字符串,其中包含一个带有控制器结果的bootstrap info div.几乎所有东西都在工作,除非页面再次加载时它会在页面上显示html,就好像它是文本,括号和所有内容一样.如果我用这个:

@if(!empty(Session::get('error'))) {{ Session::get('error')}} @endif
Run Code Online (Sandbox Code Playgroud)

然后它显示为纯文本.如果我改成它

<?php if(!empty(Session::get('error'))) { echo Session::get('error'); } ?>
Run Code Online (Sandbox Code Playgroud)

它工作正常.我保持这样,但我宁愿使用Blade/Laravel作为它应该被使用,所以我想知道是否有办法让@if语句显示渲染的HTML而不是文本版本?

mda*_*mia 27

我建议只返回错误信息,然后在视图中创建div.因此,如果您要更改视图的布局,您可以在一个位置.

@if(Session::has('error'))
<div class="alert alert-danger">
  {{ Session::get('error')}}
</div>
@endif
Run Code Online (Sandbox Code Playgroud)

希望这个帮助.


小智 6

希望这个例子能对您有所帮助。尝试这个

 @if (session('Error'))
     <div class="alert alert-success">
         {{ session('Error') }}
     </div>
@endif
Run Code Online (Sandbox Code Playgroud)


小智 5

要显示您应该{!! $variable->coontent !!}在视图中使用的呈现的 HTML ,这会将您的 HTML 文本转换为呈现