加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

html – 防止CKEditor在源代码模式下格式化代码

发布时间:2020-12-14 22:20:58 所属栏目:资源 来源:网络整理
导读:当在源文件模式下查看时,如何在CKEditor中防止任何自动格式化? 我喜欢直接编辑HTML源代码,而不是使用WYSIWYG界面,但是每当我写新的行或布局标签,我将如何缩进它们,当我切换到所见即所得模式,然后再次回到源模式时,它们都被格式化。 我偶然发现了一个
当在源文件模式下查看时,如何在CKEditor中防止任何自动格式化?

我喜欢直接编辑HTML源代码,而不是使用WYSIWYG界面,但是每当我写新的行或布局标签,我将如何缩进它们,当我切换到所见即所得模式,然后再次回到源模式时,它们都被格式化。

我偶然发现了一个CKEditor开门票Preserve formatting of ProtectedSource elements,暗示了一个可能在一段时间内存在的设置,这个设置将完全是我所追求的。我只想知道如何在源模式下编辑时完全关闭所有自动格式。

我想出了一个解决方案,我以为会是万无一失的(尽管不是一个愉快的)。

我了解了protectedSource设置,所以我想,也许我可以使用它,并在所有HTML之前创建一个HTML注释标签,然后再将一个正则表达式查找注释标签放入protectedSource数组,但即使是(相信与否)不起作用。

我已经在CKEditor之外的浏览器中直接尝试了我的表达,它正在工作,但是CKEditor并不像预期的那样保护代码(我怀疑是一个涉及注释标签的错误,因为我可以使用其他字符串)。如果你想知道,这是我曾经希望工作的一个工作,但不是:

config.protectedSource.push( /<!-- src -->[sS]*<!-- end src-->/gi );

并且我计划做什么(对于似乎缺少在源模式中禁用格式设置的设置)是将所有我的HTML嵌套在注释的标签中,如下所示:

<!-- src -->
<div>some code that shouldn't be messed with (but is)</div>
<!-- end src -->

我很乐意听到有人对这种情况有任何建议,或者知道我已经描述的设置,或者即使有人可以填写我,为什么我不能让protectedSource正常使用两个注释标签。

我真的认为这是一个bug,因为我可以得到这么多其他的表达式工作正常,甚至可以在一个注释标签区域内保护HTML,但是我根本无法在两个不同的注释标签中获取HTML来保持不变。

解决方法

我的解决方案是在我的系统中使用注释,但在将页面内容提供给CKEditor之前,请将其转换为自定义HTML标签。然后,保存后,将它们转换回我的评论标签。

对于您的语法,PHP将是这样的。将页面内容打印到textarea之前:

$content = str_replace(array('<!-- src -->','<!-- end src -->'),array('<protected>','</protected>'),$content);

保存结果内容之前:

$content = str_replace(array('<protected>',array('<!-- src -->',$content);

在CKEditor配置中:

protectedSource:[/<protected>[sS]*</protected>/g]

希望有帮助!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读