我有一个字符串返回到我的一个视图,像这样:
$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。
当前回答
你可以用很多方法在laravel ..
{!! $text !!}
{!! html_entity_decode($text) !!}
其他回答
对于拉拉维尔 5
{!!html_entity_decode($text)!!}
通过这个链接找到答案,见RachidLaasri的答案
如果要转义数据使用
{{ $html }}
如果不想逃避数据使用
{!! $html !!}
但在laravel4之前你可以使用
{{ HTML::link('/auth/logout', 'Sign Out', array('class' => 'btn btn-default btn-flat')) }}
当谈到laravel5时
{!! HTML::link('/auth/logout', 'Sign Out', array('class' => 'btn btn-default btn-flat')) !!}
您也可以使用PHP函数来实现这一点
{{ html_entity_decode($data) }}
通过PHP文档获取这个函数的参数
Html_entity_decode - php.net
默认情况下,Blade{{}}语句通过PHP的htmlspecialchars函数自动发送,以防止XSS攻击。如果你不希望你的数据被转义,你可以使用下面的语法:
根据文档,你必须做以下事情来在你的Blade文件中渲染你的html:
{!! $text !!}
在回显应用程序用户提供的内容时要非常小心。在显示用户提供的数据时,通常应该使用转义的双花括号语法来防止XSS攻击。
你可以用很多方法在laravel ..
{!! $text !!}
{!! html_entity_decode($text) !!}
你可以使用以下三种方法首先使用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>
我希望第三种方法是完美的使用三元算子刀片。