我有一个字符串返回给我的意见,像这样的:
$text = '<p><strong>Lorem</strong> ipsum dolor <img src="images/test.jpg"></p>'
我试图用刀片将其显示:
{{$text}}
但是,输出是一个原始的字符串,而不是呈现的HTML。 我如何在Laravel 5显示带有刀片HTML?
PS。 PHP echo()
正确显示HTML。
我有一个字符串返回给我的意见,像这样的:
$text = '<p><strong>Lorem</strong> ipsum dolor <img src="images/test.jpg"></p>'
我试图用刀片将其显示:
{{$text}}
但是,输出是一个原始的字符串,而不是呈现的HTML。 我如何在Laravel 5显示带有刀片HTML?
PS。 PHP echo()
正确显示HTML。
您需要使用
{!! $text !!}
当使用字符串将自动逃跑{{ $text }}
对于laravel 5
{!!html_entity_decode($text)!!}
通过这个想通了链接 ,看到RachidLaasri答案
你可以试试这个:
{!! $text !!}
你应该看看: http://laravel.com/docs/5.0/upgrade#upgrade-5.0
请用
{!! $test !!}
只有在HTML的情况下,而如果你想呈现的数据,刺痛等使用
{{ $test }}
这是因为当你的刀片文件编译
{{ $test }}
被转换为<?php echo e($test) ?>
而
{!! $test !!}
{!! $test !!}
被转换为<?php echo $test ?>
试试这个。 它为我工作。
{{ html_entity_decode($text) }}
在Laravel刀片模板,{{}}西港岛线逃脱HTML。 如果你想显示视图从控制器的HTML,从字符串解码HTML。
还有另一种方法。 如果对象的目的是渲染HTML就可以实现\Illuminate\Contracts\Support\Htmlable
有合同toHtml()
方法。
然后你可以从这样的刀片渲染对象{{ $someObject }}
注意,不需要{!! !!}
语法)。
此外,如果你想返回的HTML属性,你知道这将是HTML中,使用\Illuminate\Support\HtmlString
这样的类:
public function getProductDescription()
{
return new HtmlString($this->description);
}
然后使用它像{{ $product->getProductDescription() }}
当然,负责在页面上直接呈现原始的HTML。
您可以使用 {!! $文字!!}用于渲染Laravel HTML代码
{!! $text !!}
如果您使用
{{ $text }}
它不会呈现HTML代码,并打印作为一个字符串。
您可以在laravel 5多方面做..
{!! $text !!}
{!! html_entity_decode($text) !!}
使用{!! $text !!}
{!! $text !!}
没有逃脱它来显示数据。 只要确保你不从用户来了,还没有被清理的数据做到这一点。
如果你想逃离该数据使用
{{ $html }}
如果不想逃跑的数据使用
{!! $html !!}
但直到Laravel-4,你可以使用
{{ HTML::link('/auth/logout', 'Sign Out', array('class' => 'btn btn-default btn-flat')) }}
当谈到Laravel-5
{!! HTML::link('/auth/logout', 'Sign Out', array('class' => 'btn btn-default btn-flat')) !!}
您也可以使用PHP函数做到这一点
{{ html_entity_decode($data) }}
经过PHP文件中为这个函数的参数
html_entity_decode - php.net
这对于Laravel 5.6工作正常
<?php echo "$text"; ?>
以不同的方式
{!! $text !!}
它不会呈现HTML代码,并打印作为一个字符串。
欲了解更多详细信息,打开链接: - 用刀片显示HTML
你可以做,使用三种方法先用,如果条件像下面
{!! $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 !!}
laravel编译为DOM元素和{{$text}}
打印作为一个字符串
对于使用文本区域内的TinyMCE和标记谁:
{{ htmlspecialchars($text) }}
我一直在那里,这是我的错。 而且非常愚蠢的。
如果忘记文件名.blade扩展,该文件不明白刀片,但运行PHP代码。 您应该使用
/resources/views/filename.blade.php
代替
/resources/views/filename.php
希望这有助于有人
试试这个,它的工作:
@php
echo $text;
@endphp