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

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

我试图用Blade显示它:

{{$text}}

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

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


当前回答

当您的数据包含HTML标记时,请使用

{!! $text !!}

当您的数据不包含HTML标记时,请使用

{{ $text }}

其他回答

对于拉拉维尔 5

{!!html_entity_decode($text)!!}

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

当您的数据包含HTML标记时,请使用

{!! $text !!}

当您的数据不包含HTML标记时,请使用

{{ $text }}

你可以试试这个:

{!! $text !!}

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

请使用

{!! $test !!} 

只有在HTML的情况下,而如果你想呈现数据,sting等使用

{{ $test }}

这是因为在编译刀片文件时

{{$test}}被转换为<?PHP echo e($test) 而

{! !美元的测试! !}被转换为<?PHP echo $test ?>

{! !!!不安全。

阅读此处:https://laravel.com/docs/5.6/blade#displaying-data

你可以试试:

    @php 
     echo $variable; 
    @endphp