0

我正在使用BootstrapCSS 框架为我的网站提供动力,我正在尝试用它创建一个菜单。如何在HTML::link通话中使用 HTML?

{{ HTML::link('#', 'Account<b class="caret"></b>', [
    'id'          => 'drop1',
    'data-toggle' => 'dropdown',
    'class'       => 'no-ajaxy']) }}

不过,它似乎被 Laravel 逃脱了。

输出:

<a href="#" id="drop1" data-toggle="dropdown" class="no-ajaxy">Account&lt;b class="caret"&gt;&lt;/b&gt;</a>

预期输出:

<a href="#" id="drop1" data-toggle="dropdown" class="no-ajaxy">Account<b class="caret"></b></a>

如何阻止 Laravel 转义输出?谢谢!

4

2 回答 2

2

尝试用HTML::decode(). 该方法将实体转换为 HTML 字符。

{{ HTML::decode(HTML::link('#', 'Account<b class="caret"></b>', [
                'id'          => 'drop1',
                'data-toggle' => 'dropdown',
                'class'       => 'no-ajaxy'])) }}

你会得到插入符号图标。

于 2013-09-19T18:05:32.153 回答
0

link() 方法的源代码可以在这里看到:http: //laravel.com/api/source-class-Illuminate.Html.HtmlBuilder.html#113-129

如您所见,$this->entities(它只是 htmlentities 的包装器,将所有特殊字符转换为实体)在 $title 上被调用。除非您想投入大量工作来覆盖 HtmlBuilder,否则无法阻止此行为。

于 2013-09-19T18:07:42.907 回答