如何防止 ckeditor 不在空白 html 标签中添加

2024-01-13

我在 Windows 8.1 操作系统中安装了 Visual Studio 2012 Express,并根据要求在我的项目中使用 CKEditor。

我是 CKEditor 的新手,也以正确的方式使用它,但问题是通过在 CKEditor 中的源代码中定义 html 它会自动替换

<div><i class="classname"></i></div>

with

<div>&nbsp;</div> or <div></div>

那么如何防止CKEditor不替换它并按原样保存呢? 我有一些解决方案,但我正在替换仍然有一点错误

<i class="classname"></i>

with

<div class="classname"></div>

但在标签之间它会自动添加 &nbsp。

如何防止不添加&nbsp?

下图中,CKEditor 已打开,您可以在圆形区域中看到它自动在我的代码中添加一些空格或制表符。

如何阻止呢?


看看这个帖子:CKEditor 不需要人物 https://stackoverflow.com/questions/9741620/ckeditor-unwanted-nbsp-characters

经过一些研究,我可能会对这个问题有所了解 - 不幸的是,没有现成的解决方案。

在 CKEditor 中,有四种方式可以出现不间断空格(有人知道更多吗?):

  1. 自动填充空块 http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.config.html#.fillEmptyBlocks。可以在配置中禁用此功能:

    config.fillEmptyBlocks = false;
    
  2. 按TAB键自动插入 http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.config.html#.tabSpaces。可以在配置中禁用此功能:

    config.tabSpaces = 0;
    
  3. 将双空格转换为 SPACE+NBSP。这是浏览器行为,因此 CKEditor 团队不会修复 http://ckeditor.com/comment/33942#comment-45910。它可以被修复 服务器端或客户端 javascript onunload。也许这个 php 是 开始:

    preg_replace('/\s&nbsp;\s/i', ' ', $text);
    
  4. 通过复制粘贴。如果您粘贴一个UTF-8 不间断空格 http://www.fileformat.info/info/unicode/char/a0/index.htm或者双空格 CKEditor 会自动转换它。唯一的 我在这里看到的解决方案是执行上面的正则表达式。 config.forcePasteAsPlainText = true;没有帮助。

摘要:要摆脱所有不间断空格,您需要编写一个 清理用户输入的附加功能。

非常感谢评论和进一步的建议! (我正在使用ckeditor 3.6.4)

EDIT #1

看看这个。

CKEDITOR.dtd.$removeEmpty.i= 0;

您还可以将其与 span 和其他标签一起使用。

对此的文档。 http://docs.ckeditor.com/#!/api/CKEDITOR.dtd-property-S-removeEmpty

停止删除 CKEditor 中的任何空标签

有一个定义的标签列表,如果出现以下情况,将被删除: 空(请参阅 dtd.js 和 $removeEmpty 或运行 CKEDITOR.dtd.$removeEmpty 从控制台)。

  • 来自 HTML

为了确保某些空标签不被删除,添加属性 ‘数据-cke-生存’:

<span data-cke-survive="true" ></span>
  • 从配置

或者您可以配置不删除特定标签:

if(window.CKEDITOR){
            CKEDITOR.on('instanceCreated', function (ev) {
                CKEDITOR.dtd.$removeEmpty['span'] = 0;
                CKEDITOR.dtd.$removeEmpty['TAG-NAME'] = 0;
           }
}

通过将 CKEDITOR.dtd.$removeEmpty 中的元素设置为 0, 防止 CKEditor 删除空标签。

http://margotskapacs.com/ http://margotskapacs.com/2014/11/ckeditor-stop-altering-elements/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何防止 ckeditor 不在空白 html 标签中添加 的相关文章

  • 如何将内部 div 与外部 div 的底部对齐?

    我需要将内部 div 与外部 div 的底部对齐 我的代码如下所示 div class myOuterDiv div class div1 floatLeft Variable content here div div class div2
  • “mat-card” 不是 Angular 7 中的已知元素

    我看到了很多关于此的问题 但似乎与我遇到的问题不同 我刚刚创建了我的第二个角度项目 我下面有一个新组件src app employees我试图在employees component html 中使用 我收到的错误是 Uncaught Er
  • 图像在 IE8 中不显示

    在我的网站上 http appliedcodingtech com site factory automation photos http appliedcodingtech com site factory automation phot
  • 将 HTML 编辑器的内容保存为桌面上的 HTML 文件

    我想通过单击按钮来保存 TinyMce HTML 编辑器的内容 TinyMce 是本地安装的 我在 Chrome 中使用它 我见过这个answer https stackoverflow com a 30740104 3154274然后on
  • 使用 CSS 网格布局跨越所有列/行的项目

    随着 CSS 网格布局模块很快在 Firefox 和 Chrome 中发布 我想我应该尝试了解如何使用它 我尝试用一 个项目创建一个简单的网格a跨越所有行的左侧 其他项目 b c d e等 跨越各个行的右侧 跨越行右侧的项目数量是可变的 因
  • Div 上的倾斜边框

    我正在尝试倾斜一个 div 类似于 使用 css 倾斜 div 的顶部而不倾斜文本 https stackoverflow com questions 13591584 slant the top of a div using css wi
  • 将 SVG 元素放置在图像上

    是否可以拥有以下元素并设置它们的样式 以便 SVG 对象出现在图像上 即像图像的一部分 目前它们显示在其下方的新行中 我知道我可以将图像设置为父 div 的背景图像 但不幸的是我还需要能够在父级内旋转它 所以我认为这不是一个选项 div s
  • HTML 和 CSS 的基本编码标准 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想知道它们是否是像 PSR 01 这样的 HTML 和 CSS 基本编码标准 我尝试谷歌搜索和搜索 但没有找到 我建议看看类似的东西
  • 隐藏选择中的第一个选项[重复]

    这个问题在这里已经有答案了 我在下拉列表中有动态生成的选项 我想隐藏第一个选项 因为不需要 有没有跨浏览器兼容的方法来实现这一点 无论使用 jquery 还是 css 任何解决方案都是好的 Ahmar my drop down select
  • 如何使用 svg 使 iframe“可聚焦”

    我想检测 iframe 上的点击 这建议 https stackoverflow com a 8101458 246719执行此操作的方法是捕获父窗口上的模糊事件 但是 当用户单击 iframe 内的 svg 时 它不会获得焦点 根窗口也不
  • 使用 MSBuild Web 部署到服务器

    我在 VS 2012 项目中设置了发布配置文件 当我在 VS 中右键单击该项目 选择 发布 并单击 发布 按钮时 它会使用 发布配置文件 中提供的设置将项目发布到服务器 当我使用 msbuild 和命令行时 使用以下语法 msbuild e
  • angularjs 自定义过滤器检查数据数组内的值

    我有两个过滤器 它们根据数据中的队列键过滤数据 这是我的代码 var app angular module app app controller mainController function scope Data object scope
  • 从 Angular 6 服务中绑定图像

    我有一个端点 它根据某些参数为我提供图像 这不是一个图像网址 而是一个普通图像 因此 当我到达邮递员中的端点时 作为响应 我收到一张图像 JPG 我是否可以在变量中接收该图像并将其绑定到 HTML 标签中 所有问题都有将图像 url 映射到
  • C# html-helper 扩展现有方法而不覆盖?

    我已经搜索过这个问题并发现可能answer https stackoverflow com questions 11232041 how to create an html helper to extend textboxfor to ad
  • React.js this.props.data.map() 不是一个函数

    我正在搞乱反应并尝试解析和渲染 json 对象 现在 我只是使用硬编码对象设置它以进行测试 而不是从 ajax 调用中获取它
  • Bootstrap 3 - 使用垂直滚动条水平拖动元素,overflow-y:滚动

    在我的失败之后上一篇文章 https stackoverflow com questions 23586926 bootstrap grid with scrollable affixed column noredirect 1 comme
  • IE 中的文件上传按钮和奇怪的文本光标行为

    我构建了一个上传按钮 其格式类似于典型的 html 按钮 而不是浏览器标准文件上传表单 该方法是设置锚元素的样式并在顶部覆盖透明文件输入元素 这种方法在除 IE 之外的所有浏览器中都可以正常工作 在 IE 中 当用户单击上传按钮时 会出现一
  • Django 1.7:如何使用 html/css 文件作为模板发送电子邮件

    从 Django 1 7 开始 可以send email 使用新参数 html message 不幸的是 没有关于如何使用它的全面指南 新手友好 或者至少我找不到它 我需要使发送的电子邮件变得漂亮 因此 我试图弄清楚如何将我的消息包含到 h
  • 在 HTML5 画布上创建颜色选择器

    如何在 HTML5 画布上绘制颜色选择器 一个基本的例子是使用getImageData http jsfiddle net eGjak 60 http jsfiddle net eGjak 60 var ctx cv get 0 getCo
  • jQuery 显示/隐藏兄弟姐妹

    我有这段代码 旨在首先隐藏除第一个元素之外的所有相关元素 这个 做的不错啊接下来 它应该根据选择的项目显示 隐藏这些元素 但这部分不起作用 想法 jQuery accordion dl not first child hide hide a

随机推荐

  • 这个Python装饰器是如何工作的?

    我正在研究 Python 中的一些延迟加载属性装饰器 并且发生在这个示例中 http code activestate com recipes 363602 lazy property evaluation http code active
  • 将字符串变量中接收到的 pdf 文件转换为 C# 中的字节数组

    我正在尝试用 C 开发一个应用程序 它从 Service1 第 3 方 获取数据 对其进行处理 然后将数据发送到 Service2 又是第 3 方 我试图接收 处理和发送的数据是pdf file 从 Service1 我收到了 pdf 文件
  • AngularJS 指令链接函数未执行

    我正在为 jQuery 元素编写一个包装器 该元素是我正在使用的模板的一部分 此处示例中的链接方法 http jsfiddle net Webnet ugSsk http jsfiddle net Webnet ugSsk 没有被触发 我无
  • 调用需要 API 级别 26(当前最低为 23):java.time.Instant#now

    我正在实施Google 的路线 API https developers google com maps documentation directions start 我的应用程序支持minSdkVersion 23 and java ti
  • 如何在不要求用户登录 Laravel 的情况下验证电子邮件

    我正在开发一个 Laravel 应用程序 我的应用程序使用 Laravel 内置身份验证功能 在 Laravel auth 中 当用户注册时 会发送一封验证电子邮件 当用户验证电子邮件时 单击电子邮件内的链接 如果用户尚未登录 则必须重新登
  • 使用 Python 使用公钥和 cx_Oracle 进行身份验证

    我用谷歌搜索了一下 但没有找到任何实质性的结果 是否可以使用基于密钥的身份验证来使用 Python 连接到 Oracle 服务器 我的目标是能够自动化使用 Python 进行的一些报告 而无需在服务器中的任何位置存储用户名 密码 一种可能的
  • 从大浮点数中删除 E 符号,C#?

    如果您使用过大浮点数 您会发现在 C 中大浮点数显示如下 2000000 2000000 4E 12 我怎样才能展示4E 124 000 000 000 000 不4E 12 You want number ToString N0 N0 是
  • WinRT - 如何从导航历史记录中忽略或删除页面

    我的 WinRT Metro c xaml 应用程序中存在以下情况 用户启动应用程序 但他或她尚未登录 在菜单栏中 我有按钮将其导航到购物车 值得一提的是 无论登录 注销状态如何 他们都可以单击它 所以我有这个 Home Page gt L
  • 输入文件到达时如何启动批处理作业?

    我们有 Spring4 和 Spring Batch 3 我们的应用程序使用 CSV 文件作为输入文件 目前 我们使用 CommandLineJobRunner 和参数 包括要处理的文件的名称 从命令行手动启动作业 我想在输入文件到达受监视
  • opacity:0 与visibility:hidden 的效果完全相同吗

    如果是这样 它是否有效地弃用了visibility财产 我意识到 Internet Explorer 尚不支持此 CSS2 属性 布局引擎的比较 http en wikipedia org wiki Comparison of layout
  • 如何抓取给定时间段内的所有 subreddit 帖子

    我有一个功能可以抓取 2014 年 11 月 1 日到 2015 年 10 月 31 日期间比特币 subreddit 中的所有帖子 然而 我只能提取大约 990 个帖子 这些帖子只能追溯到 10 月 25 日 我不明白发生了什么 我在参考
  • 超时已过。在 Azure sql 上完成操作之前超时时间已过

    我需要在 windows azure 上的 global asax 应用程序启动事件上创建一个 sql 数据库 但是我收到此错误 Timeout expired The timeout period elapsed prior to com
  • 有没有办法查看进程每个核心的 CPU 使用率?

    我知道在 perfmon 中您可以看到每个核心的利用率 以及特定进程使用的总 CPU 量 然而 我似乎无法找到一种方法来查看进程使用了 多少CPU 按核心细分 有没有内置的方法来查看这些信息 有没有一种编程方式可以看到这一点 C 首选 我是
  • 如何在这段代码上应用 PyQt QThread

    coding utf 8 from PyQt5 QtWidgets import from PyQt5 QtCore import from PyQt5 QtGui import from PyQt5 uic import loadUiTy
  • 无法从其他子表单刷新子表单

    我有一个包含多个子表单的表单 当有人更改其中一个子表单的组合框中的值时 它需要刷新另一个子表单 我正在使用这段代码 但它不起作用 Forms frmDispatchPlanningSheet subfrmExtraDriversForPla
  • Java8 Lambda 和异常

    我想知道是否有人可以向我解释以下奇怪的现象 我正在使用 Java 8 更新 11 鉴于这个方法 private
  • 在运行时获取delphi记录中字段的偏移量

    给定一个记录类型 TItem record UPC string 20 Price Currency Cost Currency end 以及字段的名称作为字符串 如何获取该字段在记录中的偏移量 我需要在运行时执行此操作 要访问的字段的名称
  • 强制 git show 使用 vimdiff 显示 diff

    我该怎么做呢 通过进行更改后git config我可以使用 vimdiff 区分我的分阶段和提交的更改 但是当我这样做时git show我仍然看到旧的普通风格的差异 我该如何让它工作git show还有 尝试使用 git 别名 这是为了gi
  • conf.int 在 3.3 中不再使用 ggplot2、stat_summary

    我正在使用 conf int 在抖动图周围创建框 在将 R 升级到 3 3 之前 这种方法一直有效 是否有已知的修复方法 stat sum df all lt function fun geom crossbar stat summary
  • 如何防止 ckeditor 不在空白 html 标签中添加

    我在 Windows 8 1 操作系统中安装了 Visual Studio 2012 Express 并根据要求在我的项目中使用 CKEditor 我是 CKEditor 的新手 也以正确的方式使用它 但问题是通过在 CKEditor 中的