Blade,使用传递给局部视图的变量内部的html不会被渲染

时间:2015-04-06 11:35:28

标签: html laravel laravel-5 blade

我正在使用局部视图来显示页面标题,该视图接受两个变量,一个是Icon,另一个是标题。 pageHeader.blade.php:

<div class="page-header">
<div class="row">
    <!-- Page header, center on small screens -->
    <h1 class="col-xs-12 col-sm-4 text-center text-left-sm"><i class="fa {{$icon}} page-header-icon"></i>&nbsp;&nbsp;{{$title}}</h1>
</div>

我正在使用它:

@include('zdashboard._partials.pageHeader',['icon'=>'fa-pencil','title'=>'<strong>Editing</strong>'.$center->translations()->whereLang('en')->first()->name])

有时候我喜欢像上面的例子那样强调一个单词,但是,刀片引擎不会呈现我正在键入的title变量的一部分的HTML标签(输出就像照片一样)。

那么有什么想法可以解决这个问题吗?我在做什么!

错误?

The output

2 个答案:

答案 0 :(得分:34)

默认情况下,Laravel 5 {{ $title }}构造将被转义。

如果您不希望转义数据,可以使用以下语法:

{!! $title !!}

详细了解刀片控制结构:http://laravel.com/docs/5.0/templates#other-blade-control-structures

答案 1 :(得分:-1)

视图

@if(Session::has('success'))
    <div class="alert alert-success">
     {!! Session::get('success')!!}  
    </div>
@endif

控制器

public function store(Request $request)
 {
   $this->validate($request, [
            'product_code' => 'required|unique:products',
            'product_name' => 'required',
            'description' => 'required',
            'price' => 'required',
            'brand_id' => 'required',
            'category_id' => 'required',
        ]);
        $product = Product::create([
            'product_code' => $request->input('product_code'),
            'product_name' => $request->input('product_name'),
            'description' => $request->input('description'),
            'price' => $request->input('price'),
            'brand_id' => $request->input('brand_id'),
            'category_id' => $request->input('category_id'),
        ]);
        return redirect()->route('products.index')->with('success', 
        "The product <strong>".$product->product_name."</strong> has successfully been created.");
    }