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 标签,这是要记住的标签。