gpt4 book ai didi

php - Symfony2 Formbuilder 自动转义?

转载 作者:可可西里 更新时间:2023-11-01 13:37:12 29 4
gpt4 key购买 nike

我在一些选择选项中有一个硬空间 ( )。不知何故,在某个地方,他们正在逃脱。我试过:

{% autoescape false %}
{{ form_widget(foobar) }}
{% endautoescape %}

还有

{{ form_widget(foobar)|raw }}

以及config.yml中Twig下的以下内容

autoescape: false

然而,选择字段仍然呈现为  Choice Text Here 而不是 Choice Text Here,并且在源代码中它们被编码为 & nbsp;在此处选择文本

在我的 Controller 中:

$form   ->add('foo', 'choice', array(
'label' => 'Foo Label',
'choices' => $fooChoices,
'required' => true));
$form = $form->getForm();
$foobar = $form->createView();

如果我 print_r $fooChoices 我得到:

Array ( [1] =>  60# FooBar [5] =>  60# BatBar [11] =>  60# DooWop )

这显示了正确的  (注意 60 前面的双空格)。在 FormBuilder 和呈现之间的某处,它正在转义。

Form Builder 是否内置了转义?

我推断的是,通过 $form->createView() 呈现表单 View 这一点,数据仍未转义。但是,当它通过 form_widget 到达 Twig 时,它已经被转义了。执行 form_widget(foobar)|raw 显示了这一点。

编辑:我已经添加了一个解决方法作为答案,但我仍然有兴趣接受一个解释如何防止初始转义完全发生的答案。

最佳答案

我在 radio 标签方面遇到了同样的问题。这样就解决了。

{% for child in form %}

{% autoescape false %}
{{ child.vars.label }}
{% endautoescape %}

{{ form_widget(child) }}

{% endfor %}

关于php - Symfony2 Formbuilder 自动转义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11301999/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com