我有一个字符串返回到我的一个视图,像这样:

$text = '<p><strong>Lorem</strong> ipsum dolor <img src="images/test.jpg"></p>'

我试图用Blade显示它:

{{$text}}

但是,输出是一个原始字符串,而不是呈现的HTML。我如何显示HTML与刀片在Laravel?

PS. PHP echo()正确显示HTML。


当前回答

这在Laravel 5.6中工作得很好

<?php echo "$text"; ?>

以不同的方式

{!! $text !!}

它不会呈现HTML代码并将其打印为字符串。

欲了解更多详细信息,请打开链接:-显示HTML与刀片

其他回答

你可以使用以下三种方法首先使用if条件

{!! $text !!}

第二种方法

<td class="nowrap">
@if( $order->status == '0' )
    <button class="btn btn-danger">Inactive</button>
@else
    <button class="btn btn-success">Active</button>
@endif
</td>

第三,在叶片上使用三元算符的正确方法

<td class="nowrap">
      {!! $order->status=='0' ? 
          '<button class="btn btn-danger">Inactive</button> : 
          '<button class="btn btn-success">Active</button> !!}
</td>

我希望第三种方法是完美的使用三元算子刀片。

你可以试试这个:

{!! $text !!}

你应该看看:http://laravel.com/docs/5.0/upgrade#upgrade-5.0

试试这个。这对我很管用。

{{ html_entity_decode($text) }}

在Laravel Blade模板中,{{}}将转义html。如果你想在视图中显示来自控制器的html, decode html from string。

对于拉拉维尔 5

{!!html_entity_decode($text)!!}

通过这个链接找到答案,见RachidLaasri的答案

这在Laravel 5.6中工作得很好

<?php echo "$text"; ?>

以不同的方式

{!! $text !!}

它不会呈现HTML代码并将其打印为字符串。

欲了解更多详细信息,请打开链接:-显示HTML与刀片