禁用CKEditor中html实体的转换

时间:2016-04-12 12:57:49

标签: html ckeditor

我有一个textarea包含如下文字:

Foo 📷 Bar

当我在该区域应用CKeditor时,它会正确显示为:

  

Foo Bar

哪个好。

但遗憾的是,这样做会将📷转换为

我可以以某种方式禁用它吗?

修改

我在entities_additional设置为true时尝试了Enities addon

此设置实际上将字符分为��,这是无效的。我确定这是一个错误, Enitiy插件无法处理多字节字符。

3 个答案:

答案 0 :(得分:1)

默认情况下,CKEditor应使用此entities_processNumerical : force或此entities_additional:'#128247'设置翻译实体。

然而,4字节实体不是这种情况,因为replace方法最有可能销毁它们。 我在此处报告了此问题:https://dev.ckeditor.com/ticket/14588

答案 1 :(得分:1)

我遇到了类似的问题,我的textarea使用CKEditor将编码的HTML标签添加为纯文本,因此当我在网页上显示输出时,HTML标签显示为:< p>在页面中而不是

通常在浏览器中看不到的(一个只会看到结果,实际的段落间距)。

我尝试了以下所有组合:

config.entities = false

config.htmlEncodeOutput = false;

config.entities = true

config.htmlEncodeOutput = true;

在我意识到我在表单中使用PHP htmlspecialchars()来解析textarea字段之前,没有任何工作。

在我的表单中删除该字段的htmlspecialchars()并设置:

config.entities = true; 

我解决了这个问题。

答案 2 :(得分:0)

我有一个解决方案,请使用“ htmlspecialchars”,例如echo htmlspecialchars($ content);

这会将“&”转换为“&”。