Index: _source/plugins/htmldataprocessor/plugin.js
===================================================================
--- _source/plugins/htmldataprocessor/plugin.js (revision 3505)
+++ _source/plugins/htmldataprocessor/plugin.js Sat May 16 01:10:46 CST 2009
@@ -110,7 +111,16 @@
{
return html.replace( protectAttributeRegex, '$& _cke_saved_$1' );
}
-
+
+ var emptyBlockRegex = /^<[^>]+>(:?
|\s| )*<\/[^>]+>$/;
+
+ function isNotEmptyBlock( block )
+ {
+ var writer = new CKEDITOR.htmlParser.basicWriter();
+ block.writeHtml( writer );
+ return emptyBlockRegex.test( writer.getHtml() ) ? false : block;
+ }
+
CKEDITOR.plugins.add( 'htmldataprocessor',
{
requires : [ 'htmlwriter' ],
@@ -121,6 +131,11 @@
dataProcessor.writer.forceSimpleAmpersand = editor.config.forceSimpleAmpersand;
+ // Remove any empty block introduced by enterMode setting.
+ defaultHtmlFilterRules.elements[
+ editor.config.enterMode == CKEDITOR.ENTER_P ? 'p' : 'div' ]
+ = isNotEmptyBlock;
+
dataProcessor.dataFilter.addRules( defaultDataFilterRules );
dataProcessor.htmlFilter.addRules( defaultHtmlFilterRules );
}