You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Symfony动态表单从JSON读取的label含HTML标签未解析渲染如何解决?

解决方案

你之前的尝试不生效的核心原因是:Symfony表单组件在渲染字段标签时,默认会对label内容做HTML转义,这个转义发生在表单视图生成阶段,后续在Twig中对整个表单渲染结果加raw、关闭自动转义都不会生效,因为标签内容已经被提前转义为HTML实体了。

修复方法

在添加表单字段时,额外传入label_html选项并设为true即可,该参数会告知表单组件渲染标签时跳过HTML转义:

$form->add('city', ChoiceType::class, [
    'choices'   => $json[0]->options,
    'label' => $json[0]->label,
    'label_html' => true, // 新增这一行配置
]);

如果是动态遍历JSON生成多个表单字段,只需要在每个字段的配置中都加上这个参数即可,无需改动后续的Twig渲染逻辑,仍然可以用{{ form(form) }}一次性渲染整个表单。


内容的提问来源于stack exchange,提问作者sisko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 20:15:07