问题描述
也许这是我想念的一件简单的事情,但是在我的laravel刀片模板中,我有类似的东西:
Maybe this is a simple thing that I'm missing, but in my laravel blade template I have something like:
{{ Form::model(....) }}
... my fields ...
{{ Form::close() }}
这是通过转义HTML生成的,因此form标签实际上已打印到屏幕上.但是,如果我这样做:
This results with escaped HTML so the form tag is actually printed to the screen. However, if I do:
{!! Form::model(....) !!}
... my fields ...
{!! Form::close() !!}
它按预期工作.输出html时是否总是需要使用{!! ... !!}
?我读过的所有教程都只是使用{{ Form::model(...) }}
的常规约定显示的,以打开表单.感谢您的任何建议!使用Laravel 5快速浏览.
it works as expected. Do I always need to use the {!! ... !!}
when outputting html? All the tutorials I've read up on just show using the normal convention of {{ Form::model(...) }}
to open the form. Thanks for any advice! Using Laravel 5 fwiw.
推荐答案
那是正确的.
{{ ... }}
用于原始html {{{ ... }}}
用于与htmlentities()
{{ ... }}
for raw html{{{ ... }}}
for escaping with htmlentities()
{!! ... !!}
用于原始html {{{ ... }}}
用于显式转义的内容{{ ... }}
表示默认行为(也可以转义)
{!! ... !!}
for raw html{{{ ... }}}
for explicitly escaped content{{ ... }}
for the default behavior (which is escaped as well)
如果您不喜欢它,可以使用以下方法更改所有三个标签:
If you don't like it you can change all 3 of those tags with these methods:
Blade::setRawTags($openTag, $closeTag);
Blade::setContentTags($openTag, $closeTag);
Blade::setEscapedContentTags($openTag, $closeTag);
要恢复Laravel 4处理事情的方式,您可以执行以下操作:
To restore the way how Laravel 4 handled things, you can do this:
Blade::setRawTags('{{', '}}');
Blade::setEscapedContentTags('{{{', '}}}');
这篇关于Laravel 5 Form :: model(...)默认情况下转义了吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!