渲染HTML标签 Laravel 5 Blade模板化

3
我正在开发一个 Laravel 应用程序,需要从数据库中获取内容。这些内容的数据类型是 text,以下是其中一段内容:

<span style="font-weight: bold; font-style: italic;">你的狗叫什么名字?</span>

可以看到,该内容包含 HTML 标签。但当我在视图中渲染它时,它并没有格式化文本 你的狗叫什么名字? 而是显示了整段内容。
<span style="font-weight: bold; font-style: italic;">What is your dog's name?</span>

它没有读取HTML标签。在格式上是否需要进行转换?当我查看源代码时,

&lt;span style="font-weight: bold; font-style: italic;"&gt;What is your dog's name?&lt;/span&gt;

这是我的代码:
视图
<table class="table table-striped table-bordered">                                
    <tbody>
       @foreach($questions as $key => $value)
           <tr>
               <td class="">{{ $value->Question }}</td>
           </tr>
       @endforeach
   </tbody>

我的控制器:

public function create()
{
    $questions = Question::where('IsEnabled', '=', 'Yes')->get();

    return view('crm.create')->with(array('questions' => $questions));
}
1个回答

6

如果你使用的是Laravel 5,你需要告诉Blade不要转义HTML,方法是使用{!! !!}

NB:这仅适用于Laravel 5

@foreach($questions as $key => $value)
  <tr>
     <td class="">{!! $value->Question !!}</td>
  </tr>
@endforeach

哇,从没想过。非常感谢你。完美运作!计时器结束后会选择这个作为答案。谢谢! - jackhammer013

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接