gpt4 book ai didi

javascript - 强制 CKEDITOR 停止展开 block

转载 作者:行者123 更新时间:2023-12-03 12:19:06 28 4
gpt4 key购买 nike

假设我有一个 block 标记:

<div class="block">
<a href="/">
<div class="divInside"></div>
<img src="/bla" />
<p>Parargraph</p>
</a>
</div>

<强> HTML5 :声明<a>元素“可以包裹整个段落、列表、表格等,甚至整个部分,只要其中没有交互式内容(例如按钮或其他链接)”。

那么我这里的内容是完全有效的,不是吗?为什么 ckeditor 不断重新格式化我的源代码,例如上面的内容,一旦我在富编辑器和源代码模式之间进行更改,就会执行以下操作:

<div class="block">
<div class="divInside">
&nbsp;
</div>
<a href="/"><img src="/bla" /> </a>
<p>
<a href="/">Parargraph</a>
</p>
<a href="/"> </a>
</div>

我对它对空 div 的作用没有任何问题,但对 anchor 的作用却非常烦人。

有办法禁用此功能吗?

最佳答案

对于 future 遇到同样问题的人,我确实提出了一个解决方案,但我对此并不太满意,因为应该有一个选项,因为它完全有效<强> HTML5

在您的 config.js 中文件中,添加以下配置设置:

config.protectedSource.push(/[\r|\n]|(<a([^*>]+>)|<\/a>)/g);

这是正则表达式工作的演示: DEMO

基本上我们在这里所做的就是:

  1. 查找新行 \r
  2. 查找新行 \n
  3. 找到任何开放 anchor :<a接下来是文本,直到我们到达 > -(<a([^*>]+>)
  4. 查找结束 anchor 标记 <\/a>

这个正则表达式将停止验证找到的结果,我确信有更好的方法来做到这一点,因为我不是 regexPERT(<-- 但擅长双关语!)

希望这有帮助

关于javascript - 强制 CKEDITOR 停止展开 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24523658/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com