Forms 如何将HTML放入按钮';什么内容?

Forms 如何将HTML放入按钮';什么内容?,forms,symfony,twig,symfony-2.5,Forms,Symfony,Twig,Symfony 2.5,我想要实现的是用视图帮助器呈现一个按钮(form_row等),但我也使用了一些图标,所以我需要在按钮的内容中添加一些HTML 问题是特殊字符被转换为HTML实体,因此它不再像HTML那样工作 我想要什么: <button type="button" name="form[save]"><i class="fa fa-sign-in"></i> Sign in</button> <button type="button" name="fo

我想要实现的是用视图帮助器呈现一个按钮(
form_row
等),但我也使用了一些图标,所以我需要在
按钮的内容中添加一些HTML

问题是特殊字符被转换为HTML实体,因此它不再像HTML那样工作

我想要什么:

 <button type="button" name="form[save]"><i class="fa fa-sign-in"></i> Sign in</button>
 <button type="button" name="form[save]">\&lt;i class=&quot;fa fa-sign-in&quot;&gt;&lt;/i&gt; Sign in</button>
是否可以防止对HTML实体进行编码

更新:
从现在起,我找到的最干净的解决方案是使用
raw
过滤器,同时覆盖
按钮行
块模板。这是最好的方法吗?

如果使用
{{form_row(regForm.save)}
渲染按钮,则直接在视图中渲染按钮更简单,如下所示:

$form = $this->createFormBuilder($user)
    // other fields...              
    ->add('save', 'submit', array('label' => '<i class="fa fa-sign-in"></i> Sign in'))
    ->getForm();
{{form_row(regForm.save)}}
<button type="submit" class="btn green"><i class="fa fa-sign-in"></i> Sign in {{ 'form.global.button.sign_in'|trans({}, 'form') }}</button>
Sign-in{{form.global.button.Sign{u-in'{124; trans({},'form')}

否则,您可以创建一个按钮和/或图标小枝扩展(就像MopaBootstrapBundle中所做的那样),以在表单组件中实现它(并在任何地方重用它)

很明显,答案是“使用div上的链接并将其伪装为按钮”,但是如果您想使用按钮,您仍然可以通过向该按钮添加fa sign-in样式或使用:before-selector以相同的类为目标。否则,我建议坚持使用HTML实体它是一个表单-我不能使用链接或div。无论如何,
按钮
被设计为包含HTML(与输入相反)。我也无法设置按钮的样式,因为fa会更改字体,因此登录时的
字体可能会错误。您可以通过JS将操作附加到表单中的链接,这是每天都要完成的。您还可以使用输入类型=submit。我同意你所说的关于按钮和包含HTML的能力的说法,但是你陷入了困境,因此如果你不想使用HTML实体,那么评论备选方案如果你想使用你的系统,原始过滤器是唯一的解决方案,但不是最好的方法。我使用的是moopa方式。我已经检查了
MopaBootstrapBundle
源代码。因此,可能的解决方案是Mopa的方式和问题更新中描述的我的方式。我知道我会保持原样,但谢谢你的回答,这很有用。