找遍了百度和google都没有解决方案,连discuz官方都没有出来解决,至今其官网仍有这个问题。

那就自己动手解决吧,顺手打个补丁。虽然走了小路,但是能解决问题。

解决方案:修改static/js/bbcode.js

找到 html2bbcode()方法:


if((allowhtml && fetchCheckbox('htmlon')) || trim(str) == '') {
    for(i in EXTRAFUNC['html2bbcode']) {
        EXTRASTR = str;
        try {
            eval('str = ' + EXTRAFUNC['html2bbcode'][i] + '()');
        } catch(e) {}
    }
    str = str.replace(/<img[^>]+smilieid=(["']?)(\d+)(\1)[^>]*>/ig, function($1, $2, $3) {return smileycode($3);});
    str = str.replace(/<img([^>]*aid=[^>]*)>/ig, function($1, $2) {return imgtag($2);});
    return str;
}

//fix first enter cannot start new line
var divPos = strpos(str,"<div>");
if(divPos > 0 ){
    if(divPos > 4 && str.substr(divPos - 4,4) == '</p>'){}
    else{
        str = str.substr(0,divPos) + '<br>'+ str.substr(divPos);
    }
}
//end

sunguide
95 声望5 粉丝

给我一个支点