在laravel框架中我们可以使用blade在html文件中添加PHP代码。我们在Laravel的blade文件中使用了两种{{ }} and {{{ }}}语法。它们之间有什么区别?我有一个代码在刀片文件像这样
{{ }} and {{{ }}}
{{{ $errors->has('slider') ? 'has-error' : '' }}}
gz5pxeao1#
在Laravel 5之前:
{{{ $var }}}
{{ $var }}
自Laravel 5:
{!! $var !!}
bzzcjhmw2#
Laravel 5中的{{ }}和{{{ }}}完全没有区别。在版本4中,它包括以下两种样式:“{{”和“{{{"。双花括号是原始回显,三花括号转义。目前在Python 5.0中,双花括号和三花括号都对变量进行了转义,并且一个新的“{!!$var!!}”表示raw。https://laravel-news.com/2014/09/laravel-5-0-blade-changes/
{{ }}
{{{ }}}
ejk8hzay3#
{{{呈现HTML数据,但{{显示数据和元素而不呈现。例如:$str = "<h3>Hello world!</h3>";{{ $str }}输出:<h3>Hello world!</h3>{{{ $str }}}输出:你好,世界!
{{{
{{
$str = "<h3>Hello world!</h3>";
{{ $str }}
<h3>Hello world!</h3>
{{{ $str }}}
jslywgbw4#
在Laravel 4中,{{{ $var }}}用于通过转义HTML实体来呈现数据,HTML实体使用PHP htmlentities函数来防止XSS攻击。{{ $var }}用于呈现数据而不转义HTML实体。在Laravel 5中略有不同,您可以使用{{ $var }}或{{{ $var }}}对数据进行转义,并可以使用{!! $var !!}渲染未转义的数据。
htmlentities
tez616oj5#
一些我没有看到在这里提到的东西,但它可以很方便地知道。如果你有一个翻译文本的参数,应该成为一个Vue变量在结果的html然后三个大括号派上用场。例如:
{{{ __('This window will close in :timeout seconds', ['timeout' => '@{{timeoutSecs}}']) }}}
尝试使用任何其他的花括号组合都会抛出一些错误。
5条答案
按热度按时间gz5pxeao1#
在Laravel 5之前:
{{{ $var }}}
转义$var的内容{{ $var }}
回显$var未转义自Laravel 5:
{{ $var }}
与{{{ $var }}}
对$var的内容进行转义{!! $var !!}
回显$var未转义bzzcjhmw2#
Laravel 5中的
{{ }}
和{{{ }}}
完全没有区别。在版本4中,它包括以下两种样式:“{{”和“{{{"。双花括号是原始回显,三花括号转义。
目前在Python 5.0中,双花括号和三花括号都对变量进行了转义,并且一个新的“{!!$var!!}”表示raw。
https://laravel-news.com/2014/09/laravel-5-0-blade-changes/
ejk8hzay3#
{{{
呈现HTML数据,但{{
显示数据和元素而不呈现。例如:
$str = "<h3>Hello world!</h3>";
{{ $str }}
输出:<h3>Hello world!</h3>
{{{ $str }}}
输出:你好,世界!
jslywgbw4#
在Laravel 4中,
{{{ $var }}}
用于通过转义HTML实体来呈现数据,HTML实体使用PHPhtmlentities
函数来防止XSS攻击。{{ $var }}
用于呈现数据而不转义HTML实体。在Laravel 5中略有不同,您可以使用
{{ $var }}
或{{{ $var }}}
对数据进行转义,并可以使用{!! $var !!}
渲染未转义的数据。tez616oj5#
一些我没有看到在这里提到的东西,但它可以很方便地知道。如果你有一个翻译文本的参数,应该成为一个Vue变量在结果的html然后三个大括号派上用场。
例如:
尝试使用任何其他的花括号组合都会抛出一些错误。