CKEditor 转换回文本 Symfony 3 和 Doctrine ORM
CKEditor convert back to text Symfony 3 and Doctrine ORM
我用 Symfony 创建了一个博客,我只包含了 CKEditor bundle
因此,每当我尝试撰写文章时,我都可以使用捆绑包对其进行格式化并将文章存储在我的数据库中。但是当它存储在我的数据库中并且我尝试读取它时,它的格式不正常。
谁能帮我解决这个问题。
这是从我的数据库中用 twig 渲染的文章
我没有看到你的代码,但我认为 raw
link 解决了你的问题,有些像:
{{ article.body|raw }}
问题是|raw
也会对<script>
等恶意标签进行转义,如果任何用户都可以在你的富文本编辑器中写文本,你肯定不能使用|raw
.
使用调试控制台,只需显示隐藏的文本区域,然后用任意代码填充它。禁用 javascript 以删除 CKEditor 自动转义,看看发生了什么。
更好的解决方案是使用HTMLPurifierBundle,它不会转义<b>
、<em>
...等安全标签,但会删除[=11]等不受信任的标签=]、<iframe>
等
这个包提供了一个 |purify
标签,这是要记住的标签。
我用 Symfony 创建了一个博客,我只包含了 CKEditor bundle
因此,每当我尝试撰写文章时,我都可以使用捆绑包对其进行格式化并将文章存储在我的数据库中。但是当它存储在我的数据库中并且我尝试读取它时,它的格式不正常。
谁能帮我解决这个问题。
这是从我的数据库中用 twig 渲染的文章
我没有看到你的代码,但我认为 raw
link 解决了你的问题,有些像:
{{ article.body|raw }}
问题是|raw
也会对<script>
等恶意标签进行转义,如果任何用户都可以在你的富文本编辑器中写文本,你肯定不能使用|raw
.
使用调试控制台,只需显示隐藏的文本区域,然后用任意代码填充它。禁用 javascript 以删除 CKEditor 自动转义,看看发生了什么。
更好的解决方案是使用HTMLPurifierBundle,它不会转义<b>
、<em>
...等安全标签,但会删除[=11]等不受信任的标签=]、<iframe>
等
这个包提供了一个 |purify
标签,这是要记住的标签。