我们说我有一个块标记:
<div class="block">
<a href="/">
<div class="divInside"></div>
<img src="/bla" />
<p>Parargraph</p>
</a>
</div>
HTML5 :声明<a>
元素&#34;可以包裹整个段落,列表,表格等等,甚至整个部分,因为其中没有互动内容(例如按钮或其他链接)&#34;。
所以我在这里完全有效,不是吗?为什么ckeditor会继续重新格式化我的源代码,例如上面的内容,一旦我在富编辑器和源代码模式之间进行更改,就会执行以下操作:
<div class="block">
<div class="divInside">
</div>
<a href="/"><img src="/bla" /> </a>
<p>
<a href="/">Parargraph</a>
</p>
<a href="/"> </a>
</div>
我对它对空div的作用没有任何问题,但是用锚点做什么是非常烦人的。
有没有办法禁用它?
答案 0 :(得分:1)
对于未来有同样问题的人来说,我确实提出了一个解决方案,但我并不是很满意,因为它应该有一个选项,因为它的完美有效的 HTML5 强>
在config.js
文件中,添加以下配置设置:
config.protectedSource.push(/[\r|\n]|(<a([^*>]+>)|<\/a>)/g);
以下是正则表达式的演示: DEMO
基本上我们在这里做的就是:
\r
\n
<a
后跟文字,然后我们来到>
- (<a([^*>]+>)
<\/a>
这个正则表达式将停止对找到的结果进行评估,我确信有更好的方法可以做到这一点,因为我不是regexPERT(&lt; - 擅长双关语!)
希望这有帮助