找遍了百度和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