百度编辑器去除一些无用标签方法

1、去掉每个li的中加<p></p>的方法:

直接搜索 //进入编辑器的li要套p标签

注释以下代码:

//进入编辑器的li要套p标签
    me.addInputRule(function(root){
        //utils.each(root.getNodesByTagName('li'),function(li){
        //    var tmpP = UE.uNode.createElement('p');
        //    for(var i= 0,ci;ci=li.children[i];){
        //        if(ci.type == 'text' || dtd.p[ci.tagName]){
        //            tmpP.appendChild(ci);
        //        }else{
        //            if(tmpP.firstChild()){
        //                li.insertBefore(tmpP,ci);
        //                tmpP = UE.uNode.createElement('p');
        //                i = i + 2;
        //            }else{
        //                i++;
        //            }

        //        }
        //    }
        //    if(tmpP.firstChild() && !tmpP.parentNode || !li.firstChild()){
        //        li.appendChild(tmpP);
        //    }
        //    //trace:3357
        //    //p不能为空
        //    if (!tmpP.firstChild()) {
        //        tmpP.innerHTML(browser.ie ? '&nbsp;' : '<br/>')
        //    }
        //    //去掉末尾的空白
        //    var p = li.firstChild();
        //    var lastChild = p.lastChild();
        //    if(lastChild && lastChild.type == 'text' && /^s*$/.test(lastChild.data)){
        //        p.removeChild(lastChild)
        //    }
        //});
        //if(me.options.autoTransWordToList){
        //    var orderlisttype = {
        //            'num1':/^d+)/,
        //            'decimal':/^d+./,
        //            'lower-alpha':/^[a-z]+)/,
        //            'upper-alpha':/^[A-Z]+./,
        //            'cn':/^[u4E00u4E8Cu4E09u56DBu516du4e94u4e03u516bu4e5d]+[u3001]/,
        //            'cn2':/^([u4E00u4E8Cu4E09u56DBu516du4e94u4e03u516bu4e5d]+)/
        //        },
        //        unorderlisttype = {
        //            'square':'n'
        //        };
        //    function checkListType(content,container){
        //        var span = container.firstChild();
        //        if(span &&  span.type == 'element' && span.tagName == 'span' && /Wingdings|Symbol/.test(span.getStyle('font-family'))){
        //            for(var p in unorderlisttype){
        //                if(unorderlisttype[p] == span.data){
        //                    return p
        //                }
        //            }
        //            return 'disc'
        //        }
        //        for(var p in orderlisttype){
        //            if(orderlisttype[p].test(content)){
        //                return p;
        //            }
        //        }

        //    }
        //    utils.each(root.getNodesByTagName('p'),function(node){
        //        if(node.getAttr('class') != 'MsoListParagraph'){
        //            return
        //        }

        //        //word粘贴过来的会带有margin要去掉,但这样也可能会误命中一些央视
        //        node.setStyle('margin','');
        //        node.setStyle('margin-left','');
        //        node.setAttr('class','');

        //        function appendLi(list,p,type){
        //            if(list.tagName == 'ol'){
        //                if(browser.ie){
        //                    var first = p.firstChild();
        //                    if(first.type =='element' && first.tagName == 'span' && orderlisttype[type].test(first.innerText())){
        //                        p.removeChild(first);
        //                    }
        //                }else{
        //                    p.innerHTML(p.innerHTML().replace(orderlisttype[type],''));
        //                }
        //            }else{
        //                p.removeChild(p.firstChild())
        //            }

        //            var li = UE.uNode.createElement('li');
        //            li.appendChild(p);
        //            list.appendChild(li);
        //        }
        //        var tmp = node,type,cacheNode = node;

        //        if(node.parentNode.tagName != 'li' && (type = checkListType(node.innerText(),node))){

        //            var list = UE.uNode.createElement(me.options.insertorderedlist.hasOwnProperty(type) ? 'ol' : 'ul');
        //            if(customStyle[type]){
        //                list.setAttr('class','custom_'+type)
        //            }else{
        //                list.setStyle('list-style-type',type)
        //            }
        //            while(node && node.parentNode.tagName != 'li' && checkListType(node.innerText(),node)){
        //                tmp = node.nextSibling();
        //                if(!tmp){
        //                    node.parentNode.insertBefore(list,node)
        //                }
        //                appendLi(list,node,type);
        //                node = tmp;
        //            }
        //            if(!list.parentNode && node && node.parentNode){
        //                node.parentNode.insertBefore(list,node)
        //            }
        //        }
        //        var span = cacheNode.firstChild();
        //        if(span && span.type == 'element' && span.tagName == 'span' && /^s*(&nbsp;)+s*$/.test(span.innerText())){
        //            span.parentNode.removeChild(span)
        //        }
        //    })
        //}

    });

2、去掉内容编辑自动套P标签:

搜索修改成false:allowDivTransToP: false
再搜索并修改以下:
//编辑器不能为空内容

if (domUtils.isEmptyNode(me.body)) {
    me.body.innerHTML = '<p>' + (browser.ie ? '' : '<br/>') + '</p>';
}
更改为:
if (domUtils.isEmptyNode(me.body)) {
    me.body.innerHTML = browser.ie ? '' : '<br/>';
}
原文地址:https://www.cnblogs.com/firstcsharp/p/6843253.html