Ticket #3526: 3526.patch

File 3526.patch, 1.2 KB (added by Garry Yao, 10 years ago)
  • _source/plugins/htmldataprocessor/plugin.js

     
    110111        {
    111112                return html.replace( protectAttributeRegex, '$& _cke_saved_$1' );
    112113        }
    113 
     114       
     115        var emptyBlockRegex = /^<[^>]+>(:?<br \/>|\s|&nbsp;)*<\/[^>]+>$/;
     116       
     117        function isNotEmptyBlock( block )
     118        {
     119                var writer = new CKEDITOR.htmlParser.basicWriter();
     120                block.writeHtml( writer );
     121                return emptyBlockRegex.test( writer.getHtml() ) ? false : block;
     122        }
     123
    114124        CKEDITOR.plugins.add( 'htmldataprocessor',
    115125        {
    116126                requires : [ 'htmlwriter' ],
     
    121131
    122132                        dataProcessor.writer.forceSimpleAmpersand = editor.config.forceSimpleAmpersand;
    123133
     134                        // Remove any empty block introduced by enterMode setting.
     135                        defaultHtmlFilterRules.elements[
     136                                editor.config.enterMode == CKEDITOR.ENTER_P ? 'p' : 'div' ]
     137                                = isNotEmptyBlock;
     138
    124139                        dataProcessor.dataFilter.addRules( defaultDataFilterRules );
    125140                        dataProcessor.htmlFilter.addRules( defaultHtmlFilterRules );
    126141                }
© 2003 – 2019 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy