我有一个字符串返回到我的一个视图,像这样:
$text = '<p><strong>Lorem</strong> ipsum dolor <img src="images/test.jpg"></p>'
我试图用Blade显示它:
{{$text}}
但是,输出是一个原始字符串,而不是呈现的HTML。我如何显示HTML与刀片在Laravel?
PS. PHP echo()正确显示HTML。
我有一个字符串返回到我的一个视图,像这样:
$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 }}
其他回答
试试这个。这对我很管用。
{{ html_entity_decode($text) }}
在Laravel Blade模板中,{{}}将转义html。如果你想在视图中显示来自控制器的html, decode html from string。
你需要使用
{!! $text !!}
使用{{$text}}时,字符串将自动转义。
你可以用很多方法在laravel ..
{!! $text !!}
{!! html_entity_decode($text) !!}
{! !!!不安全。
阅读此处:https://laravel.com/docs/5.6/blade#displaying-data
你可以试试:
@php
echo $variable;
@endphp
对于拉拉维尔 5
{!!html_entity_decode($text)!!}
通过这个链接找到答案,见RachidLaasri的答案