在 CKEditor 中使用自定义 html 标签

Using a custom html tag in CKEditor

我正在尝试将 CKEditor 集成到内部 PHP 应用程序中,过去我只是将我的 HTML 粘贴到表单中的文本区域字段中。

我在表单中提交的这个 HTML 适用于使用自定义标签的自定义模板系统。然后这些自定义标签将被我的后端替换为真实数据。例如,发票会有自定义标记 <%INVOICE#%>,我的后端会用正确的发票编号替换它。

使用 CKEditor 时,这些类型的标签被转换为 html 实体,例如 &lt;%INVOICE#&gt;,这会破坏我在后端进行的字符串替换。

有没有办法让 CKEditor 识别格式为 <%*%> 的标签而不以任何方式转换它们?

保护这些标签不被修改的最简单方法是使用 config.protectedSource. With Show Protected 插件(第 3 方插件),您甚至可以在所见即所得区域看到受保护的代码。

一个对用户更友好的解决方案是采用基于小部件的 Placeholder 插件来识别您用于自定义标签的语法。这个插件只是一个概念解决方案的证明,所以你可以用任何你喜欢的方式改进它。例如。通过向最终用户提供一个包含有效占位符列表的 select 元素,而不是要求手动输入它们。

Widgets 很强大,这意味着在技术上可以编写一个 returns <%INVOICE#%> 在源代码中,但在所见即所得区域显示真实发票号码的插件。