CKEditor允许在<a> tag</a> </span>内<span>

时间:2013-04-30 13:22:11

标签: html ckeditor

我想在CKEditor源中的<span>标记内添加<a>标记:

<a href="http://google.com"><span>Link here</span></a>

但是当我在源模式下在CKEditor中添加HTML时,它会将其转换为:

<a href="http://google.com">Link Here</a>

如何在href

中允许HTML标记

3 个答案:

答案 0 :(得分:7)

<span>Advanced Content Filter删除。显然(并且这并不奇怪)编辑器中启用的任何功能都不允许裸露的跨度(非常糟糕的非语义HTML),因此只需删除它们。

我建议你不要使用这种凌乱的HTML,因为CKEditor会在某些时候破坏你的<a>+<span>双重线,因为它不知道它们应该一起编辑。

但是,如果您需要使用它们,请检查以下选项:config.allowedContentconfig.extraAllowedContent。第一个允许完全禁用高级内容过滤器。

答案 1 :(得分:7)

使用extraAllowedContent过滤器:

CKEDITOR.replace('ckeditor', {
    extraAllowedContent: 'a span',
});

答案 2 :(得分:0)

你真的需要将<span>标签放在那里吗?是不是更好的添加一个类到你的链接并从那里编辑它(我想你想要的CSS)。

你能做什么:

  1. 尝试以其他方式执行此操作:<span><a href="http://google.com">Link here</a></span>

  2. 在记事本/ PSpad中打开你的html文件,或者总是向你展示稀有源代码的任何东西,并试着把它写在那里 - 应该不是问题。

  3. 正如我已经写过的那样 - 如果你想在那里编辑链接文本的css - 在你的链接中使用class并编辑css值。 示例: <a href="http://google.com" class="myLink">Link Here</a> css .myLink { ...your custom setting... }

  4. 如果你能告诉我们你需要什么样的跨度标签,那将有助于我们回答你:)

    P.S。:对不起,我没有回答你正在使用的编辑器。我只是觉得你可能想尝试其他编辑器,这些编辑器不会禁用编写代码时通常可以执行的操作。