不使用p标签时使用CKEditor的blockquote功能

5
在 CKEditor 中,当我使用工具栏中的块引用功能时,它会像这样:
<blockquote>
  <p></p>
</blockquote>

如何在块引用中删除标签<p></p>
或者如何将<p></p>替换为<pre></pre>
1个回答

0
这段代码添加了一个过滤器到编辑器中,可以将“blockquote”块内的“p”标签更改为“pre”标签。
 CKEDITOR.on( 'instanceReady', function( ev )
    {
        var editor = ev.editor;
        var dataProcessor = editor.dataProcessor,
        htmlFilter = dataProcessor && dataProcessor.htmlFilter;

        htmlFilter.addRules(
        {
            elements:
            {
                $: function (element) {
                    var parent = element.parent;

                    if (element.name == 'p') {
                        if (parent && parent.name.toLowerCase()=='blockquote') {
                            element.name="pre";
                        } 
                    } 

                    return element;
                }
            }
        });

    });

看一个例子:

https://jsfiddle.net/z6y8q6rm/4/


你能否添加一些额外的解释,比如这段代码应该放在哪里以及代码实际执行了什么操作? - Tot Zam

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接