我有一个字符串返回到我的一个视图,像这样:
$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。
当前回答
你可以使用以下三种方法首先使用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>
我希望第三种方法是完美的使用三元算子刀片。
其他回答
这在Laravel 5.6中工作得很好
<?php echo "$text"; ?>
以不同的方式
{!! $text !!}
它不会呈现HTML代码并将其打印为字符串。
欲了解更多详细信息,请打开链接:-显示HTML与刀片
请使用
{!! $test !!}
只有在HTML的情况下,而如果你想呈现数据,sting等使用
{{ $test }}
这是因为在编译刀片文件时
{{$test}}被转换为<?PHP echo e($test) 而
{! !美元的测试! !}被转换为<?PHP echo $test ?>
试试这个。这对我很管用。
{{ html_entity_decode($text) }}
在Laravel Blade模板中,{{}}将转义html。如果你想在视图中显示来自控制器的html, decode html from string。
你需要使用
{!! $text !!}
使用{{$text}}时,字符串将自动转义。
{! !!!不安全。
阅读此处:https://laravel.com/docs/5.6/blade#displaying-data
你可以试试:
@php
echo $variable;
@endphp