在Symfony / Twig中转义tinyMCE javascript输出

时间:2015-09-03 20:34:15

标签: javascript symfony escaping tinymce twig

我在Symfony中使用TinyMCE。一切正常,我在数据库中保存用户输入,但我想让用户的javascript在显示他们的消息时不在前端运行。我试过了

  {{ message.content|raw }}

但问题是它运行了javascript代码。

然后我试了

{% autoescape 'js' %}
{{ message.content }}
{% endautoescape   %}

但它将javascript打印为奇怪的字符,如\x3C\x2Fp\x3E

如何以明文形式打印javascript代码?或者如何显示正确格式化的文本而不是运行javascript部分?

例如,

<b>test</b> <script>alert()</script>

显示类似于

测试 alert()

1 个答案:

答案 0 :(得分:2)

使用strip_tags功能:

{{ message.content | striptags('<p><b><br>') | raw }}

strip_tags内的标签是允许的标签。