我试图将描述(我的数据库中的字符串)转换为HTML。我正在使用{{ projet.description }}
获取说明,但似乎在JavaScript中,"说明"导致我的脚本中的错误......所以我创建了一个包含我的描述的div,使其不可见,并使用innerHTML
获取。
Twig代码
<div id="desc">{{ projet.description }}</div>
<div>
<script type="text/javascript">
var desc = document.getElementById("desc").innerHTML|e('js')|raw;
document.write(desc);
</script>
</div>
CSS
#descr {
display:none;
}
但现在,document.write()
仍会返回类似&#34; <p><em>POKEMON</em></p>
&#34;的字符串。但是,我想用HTML格式。
答案 0 :(得分:2)
我几乎可以肯定HTML已被转义,因此请尝试一下:
<div id="desc">{{ projet.description|raw }}</div>
请参阅twig docs上的原始过滤器:raw
原始过滤器将值标记为&#34; safe&#34;,这意味着在 启用自动转义的环境,此变量不会启用 如果raw是应用于它的最后一个过滤器,则转义
此外:
var desc = document.getElementById("desc").innerHTML|e('js')|raw;
以上代码段在树枝上无效,因为它没有被有效的分隔符包围,例如&#34; {{ }}
&#34;或&#34; {% %}
&#34;。