我有一个textarea包含如下文字:
Foo 📷 Bar
当我在该区域应用CKeditor时,它会正确显示为:
Foo Bar
哪个好。
但遗憾的是,这样做会将📷
转换为。
我可以以某种方式禁用它吗?
我在entities_additional
设置为true
时尝试了Enities addon。
此设置实际上将字符分为
��
,这是无效的。我确定这是一个错误, Enitiy插件无法处理多字节字符。
答案 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);
这会将“&”转换为“&”。