我正在使用Bootstrap
CSS框架为我的网站提供支持,我正在尝试使用它创建一个菜单。如何在HTML::link
调用中使用 HTML?
{{ HTML::link('#', 'Account<b class="caret"></b>', [
'id' => 'drop1',
'data-toggle' => 'dropdown',
'class' => 'no-ajaxy']) }}
不过,它似乎被拉拉维尔逃脱了。
输出:
<a href="#" id="drop1" data-toggle="dropdown" class="no-ajaxy">Account<b class="caret"></b></a>
预期输出:
<a href="#" id="drop1" data-toggle="dropdown" class="no-ajaxy">Account<b class="caret"></b></a>
如何阻止拉拉维尔转义输出?谢谢!
尝试用 HTML::decode()
包装它。该方法将实体转换为 HTML 字符。
{{ HTML::decode(HTML::link('#', 'Account<b class="caret"></b>', [
'id' => 'drop1',
'data-toggle' => 'dropdown',
'class' => 'no-ajaxy'])) }}
您将获得插入符号图标的呈现。
link() 方法的源代码可以在这里看到: http://laravel.com/api/source-class-Illuminate.Html.HtmlBuilder.html#113-129
如您所见,$this->实体(它只是 htmlentities 的包装器,将所有特殊字符转换为实体)正在$title被调用。除非您想投入大量工作来覆盖 HtmlBuilder,否则无法阻止此行为。