我正在尝试将CKEditor集成到一个内部PHP应用程序中,过去我只是将HTML粘贴到表单中的textarea字段中。
我在表单中提交的HTML是针对使用自定义标记的自定义模板系统。然后我的后端会用真实数据替换这些自定义标签。例如,发票上会有自定义标记<%INVOICE#%>,我的后端将替换为正确的发票号。
使用CKEditor时,这些类型的标签正在转换为<%INVOICE#>
等htmlentities,这会破坏我后端的字符串替换。
有没有办法让CKEditor识别格式为&lt;%*%&gt;的标签?而不是以任何方式转换它们?
答案 0 :(得分:2)
保护这些代码不被修改的最简单方法是使用config.protectedSource。使用Show Protected插件(第三方插件),您甚至可以在wysiwyg区域看到受保护的代码。
更加用户友好的解决方案是采用基于窗口小部件的Placeholder插件来识别您用于自定义标记的语法。这个插件只是一个概念验证解决方案,因此您可以以任何您喜欢的方式对其进行改进。例如。通过向最终用户提供一个有效占位符列表的select元素,而不是要求手动输入它们。
小部件功能强大,这意味着在技术上可以编写一个在源代码中返回<%INVOICE#%>
的插件,但在wysiwyg区域显示真实的发票号。