【问题标题】:CKEditor allow <span> inside <a> tagCKEditor 允许 <span> 在 <a> 标签内
【发布时间】:2013-04-24 10:30:57
【问题描述】:

我想在 CKEditor 源代码中的 &lt;a&gt; 标签内添加 &lt;span&gt; 标签:

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

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

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

如何在href 中允许 HTML 标签?

【问题讨论】:

    标签: html ckeditor


    【解决方案1】:

    &lt;span&gt; 已被 Advanced Content Filter 删除。显然(这并不奇怪)您的编辑器中启用的所有功能都不允许裸跨(这是蹩脚的非语义 HTML),因此它们被简单地删除。

    我建议你不要使用这种乱七八糟的 HTML,因为 CKEditor 有时会破坏你的 &lt;a&gt;+&lt;span&gt; doublets,因为它不知道它们应该一起编辑。

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

    【讨论】:

      【解决方案2】:

      使用extraAllowedContent 过滤器:

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

      【讨论】:

        【解决方案3】:

        你真的需要把&lt;span&gt; 标签放在那里吗?在链接中添加一个类并从那里编辑它(我猜你想要的 css)不是更好吗?

        你能做什么:

        1. 换一种方式试试:&lt;span&gt;&lt;a href="http://google.com"&gt;Link here&lt;/a&gt;&lt;/span&gt;

        2. 在记事本/PSpad 或任何总是向您显示稀有源代码的东西中打开您的 html 文件并尝试在那里编写它 - 应该没有问题。

        3. 正如我已经写的那样——如果你想要那个跨度来编辑链接文本的 css——在你的链接中使用类并编辑 css 值。 示例: &lt;a href="http://google.com" class="myLink"&gt;Link Here&lt;/a&gt; 并在 css 中:.myLink { ...your custom setting... }

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

        P.S.:很抱歉,我没有回答您正在使用的编辑器。我只是认为您可能想尝试其他不会禁用您在编写代码时通常可以执行的操作的编辑器。

        【讨论】:

        • CKEditor 默认禁用不应该被允许的东西。这个&lt;span&gt; 是一个蹩脚的非语义HTML 汤,在默认配置中CKEditor 不允许它(尽管它可以配置为不这样做)。你可以阅读更多关于Advanced Content Filter的信息。
        • @Reinmar 好吧,Vijay 想做的事情并不是无效的。但我同意这不是一个好的/漂亮的解决方案。这就是为什么我推荐其他处理链接格式的方法,并想知道他到底为什么要这样做(以防它不是为了格式)。
        猜你喜欢
        • 2012-11-03
        • 2018-07-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-23
        • 1970-01-01
        • 2011-02-24
        相关资源
        最近更新 更多