2016-09-06 65 views
0

使用shift-return向ckeditor添加软返回(版本4.5.3),并且生成的HTML通过wkhtmltopdf转换为PDF时,会出现“?”字符有时会插入到具有软返回的行的开头。ckeditor软返回(shift-return)将未知字符添加到HTML?

检查HTML源代码,我发现有3个隐藏字符被插入,wkhtmltopdf正在转换为“?”因为它不知道如何处理它们。这些字符不记事本+ +当“显示隐藏字符”开启时出现,但检查与十六进制编辑器的文件显示为十六进制代码:

E2 80 8B

为什么CKEditor的插入这些隐藏除了<br />标记之外,还需要使用软中断的字符吗?他们的目的是什么?更重要的是,有没有办法阻止这种行为?或者这可能是一个错误?

UPDATE

我已经重复使用当前online ckeditor demo行为。

在几行中输入几个字符(如“asdf”),使用shift-return在每行之间进行软返回。然后点击“Source”按钮查看HTML。选择并复制一个足够大的区域,以便完全包含您键入的区域(确保在添加的内容之下复制一点点)。然后将其粘贴到一个在线的十六进制编辑器:

https://hexed.it/

你会看到相同的字符:

E2 80 8B

请让我知道这是一个错误。如果没有,我可以做些什么来禁用这种行为?

+0

我试图重现您的问题,但它似乎工作正常,所以它可能是您的浏览器或您的操作系统。你能提供更好的再现步骤吗? – AlfonsoML

+0

顺便提一句,这是一个零宽度的空间,U + 200B。不是隐藏的角色。 –

回答

0

在CKEditor的bug报告区,笔者获悉,正确的方式来获得 “干净” 从CKEditor的HTML是使用:

​​

我用不算什么:

editor.document.getBody().getHtml(); 

张贴在这里让其他人可以很容易地找到它,因为ckeditor文档没有什么帮助。