将CKEDITOR配置为不修复特定自定义标记的HTML
我在模板系统中使用CKEditor,在模板系统中使用自定义标记,然后我的PHP后端将用数据替换HTML中的自定义标记 例如,在一个教程中,我可能有一套关于如何做某事的标准说明,但某些示例需要额外的说明。在这种情况下,我会将自定义标记插入html中,然后php后端会将其替换为该页面的说明 因此,在列表中,我会做如下操作:将CKEDITOR配置为不修复特定自定义标记的HTML,ckeditor,Ckeditor,我在模板系统中使用CKEditor,在模板系统中使用自定义标记,然后我的PHP后端将用数据替换HTML中的自定义标记 例如,在一个教程中,我可能有一套关于如何做某事的标准说明,但某些示例需要额外的说明。在这种情况下,我会将自定义标记插入html中,然后php后端会将其替换为该页面的说明 因此,在列表中,我会做如下操作: <ol> <li>Step 1</li> <li>Step 1</li> <li>Step 1<
<ol>
<li>Step 1</li>
<li>Step 1</li>
<li>Step 1</li>
<%Extra_Instructions%>
<li>You are all done!</li>
</ol>
第一步
第一步
第一步
你们都完了李>
问题是CKeditor检测到自定义标记不是正确的html,并自动将其移出列表。因此,来源将成为:
<%Extra_Instructions%>
<ol>
<li>Step 1</li>
<li>Step 1</li>
<li>Step 1</li>
<%Extra_Instructions%>
<li>You are all done!</li>
</ol>
第一步
第一步
第一步
你们都完了李>
有没有办法将Ckeditor配置为不对某些标记执行此操作?如果您想将这些标记放置在
内部之类的位置,那么这里唯一的解决方案就是使用。在编辑过程中,匹配的数据片段将转换为HTML注释。这当然会使它们对用户不可见,但它允许将它们保留在其他元素无法定位的位置。例如,在
内部,您只能有
,因此您的自定义标记只能由注释或替换。受保护的源代码为您提供了前者,后者是一个更复杂的选项,因为您希望对这些标记的可编辑性进行一些限制
config.protectedSource
的示例用法:
config.protectedSource.push( /<%[\s\S]*?%>/g );
config.protectedSource.push(//g);
我的配置中已经有了这个。我还安装了show protected插件。当您单击源按钮或保存表单内容时,会将移动到标记上方。很可能是因为您安装了受显示保护的插件。正如我所写的-你不能在
元素之间显示任何东西,这个插件不会改变这一点,除非它非常智能。这就是你的数据被更改的原因。是的,显示保护插件是个问题。谢谢你的帮助。