diff --git a/modules/editor/skins/xpresseditor/js/xe_interface.js b/modules/editor/skins/xpresseditor/js/xe_interface.js index d57c84cc4..a255c3ce5 100644 --- a/modules/editor/skins/xpresseditor/js/xe_interface.js +++ b/modules/editor/skins/xpresseditor/js/xe_interface.js @@ -177,8 +177,25 @@ function editorGetContentTextarea_xe(editor_sequence) { if (!oEditor) return ''; var str = oEditor.getIR(); + if(!jQuery.trim(str.replace(/( |<\/?(p|br|span|div)([^>]+)?>)/ig, ''))) return ''; + // 속도 문제가 있으므로 1024 문자 미만일 때만 첫 노드가 텍스트 노드인지 테스트 + // 그 이상이면 P 노드가 정상적으로 생성되었다고 가정한다. + if (str.length < 1024) { + var div = jQuery('
'+str+'
').eq(0); + var nodes = div.contents(); + jQuery.each(nodes, function() { + if (this.nodeType == 3) { + jQuery(this).wrap('

'); + } + }); + str = div.html(); + } + + // 파이어폭스의 경우 의미없는
이 컨텐트 마지막에 추가될 수 있다. + str = str.replace(/
$/i, ''); + return str; }