显示HTML我有一个字符串返回给我的意见之一,是这样的:Laravel 5:用刀片
$text = '<p><strong>Lorem</strong> ipsum dolor <img src="images/test.jpg"></p>'
我试图用刀片将其显示:
{{$text}}
然而,输出是一个原始字符串,而不是呈现的HTML。如何在Laravel 5中显示带有刀片的HTML?
PS。 PHP echo()
正确显示HTML。
显示HTML我有一个字符串返回给我的意见之一,是这样的:Laravel 5:用刀片
$text = '<p><strong>Lorem</strong> ipsum dolor <img src="images/test.jpg"></p>'
我试图用刀片将其显示:
{{$text}}
然而,输出是一个原始字符串,而不是呈现的HTML。如何在Laravel 5中显示带有刀片的HTML?
PS。 PHP echo()
正确显示HTML。
你需要在执行做这样
{!! $text !!}
字符串会自动转义{{}}
Thanks..its working .. {!! html_entity_decode($ data)!!} – 2017-04-06 07:29:08
这是一个真实的答案!谢谢 – 2018-01-11 18:51:03
试试这个。它为我工作。
{{ html_entity_decode($text) }}
在Laravel Blade模板中{{}}将转义html。如果你想在控制器中显示html,请从字符串解码html。
请使用
{!! $test !!}
只有在HTML的情况下,而如果你想呈现的数据,刺痛等使用
{{ $test }}
这是因为当你的刀片文件编译
{{ $test }}
转换为<?php echo e($test) ?>
而
{!! $test !!}
转换为<?php echo $test ?>
还有另一种方法。如果对象目的是呈现html,则可以实施\Illuminate\Contracts\Support\Htmlable
合同,该合同具有toHtml()
方法。
然后,您可以像这样从刀片呈现该对象:{{ $someObject }}
(注意,不需要{!! !!}
语法)。
此外,如果你想返回的HTML属性,你知道这将是HTML中,使用\Illuminate\Support\HtmlString
类是这样的:
public function getProductDescription()
{
return new HtmlString($this->description);
}
,然后使用它像{{ $product->getProductDescription() }}
。
当然,直接在页面上呈现原始HTML负责。
如果你想逃离该数据使用
{{ $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文件中为这个函数的参数
在PHP Laravel来显示HTML $的测试数据做页: -
{{ $test }}
以不同的方式
<? $test ?>
$ data = User :: where('id',1) - > first();
在刀片页面,
名称:{{$数据 - >名}}
您可以使用{! $文字!!}用于渲染HTML代码Laravel
{!! $text !!}
如果使用
{{ $text }}
它不会呈现HTML代码,并打印作为一个字符串。
它的一个简单
{! $文本!}
laravel编译为DOM元素和{{$文字}}打印作为一个字符串
我想你应该选择这个作为答案。 – apis17 2016-02-03 07:14:18
以下是Laravel提到的文档:“如果您不希望数据被转义,您可以使用以下语法:'Hello,{!! $ name !!}。”https://laravel.com /docs/5.5/blade#displaying-data – Ryan 2017-10-31 22:08:13
我喜欢它,视觉上真的很清楚这是一些不同于平常的东西......! – Andrew 2018-02-18 16:12:54