如何配置CKEditor以允许将html块级标记包装在锚标记中

时间:2013-11-07 00:36:30

标签: html5 ckeditor

我想在链接(valid in HTML5)中包含几个块标记:

<a href="http://example.com">
  <div>foo</div>
  <p>bar</p>
  <span>baz</span>
  <strong>zoom</strong>
</a>

但是CKEditor重写代码,使得链接放在块标记内,并允许包含内联标记,因为上面的代码被替换为以下代码:

<div><a href="http://example.com">foo</a></div>
<p><a href="http://example.com">bar</a></p>
<a href="http://example.com"><span>baz</span> <strong>zoom</strong> </a>

如何禁用此行为?

在CKEditor配置中,我正在使用config.allowedContent = true;来禁用对允许标记的过滤。

我们还使用config.autoParagraph = false;不要求将根级别标记包装在段落中。

我尝试过使用config.extraAllowedContent = "a p; a div";,但这似乎没有任何效果。

2 个答案:

答案 0 :(得分:4)

你可以尝试做类似的事情:

CKEDITOR.dtd.a.div = 1;
CKEDITOR.dtd.a.p = 1;

的src: http://ckeditor.com/forums/Support/CKEditor-wont-allow-inside

答案 1 :(得分:2)

目前CKEditor(4.2)仅限xHTML / HTML4编辑器。 HTML5 DTD(动态,BTW)没有支持,这是你问题的根源。我也担心没有解决方法/配置,因为不同的DTD意味着不同的解析器,所以CKEditor不适合你。遗憾。

您可以在this ticket中找到更多信息。