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

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':/^[\u4E00\u4E8C\u4E09\u56DB\u516d\u4e94\u4e03\u516b\u4e5d]+[\u3001]/,
        //            'cn2':/^\([\u4E00\u4E8C\u4E09\u56DB\u516d\u4e94\u4e03\u516b\u4e5d]+\)/
        //        },
        //        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/>';
}

 

 

posted @ 2017-05-11 22:36  James·wang  阅读(3218)  评论(0编辑  收藏  举报