// html 转 ubb
var htmlToBBCode = function (html) {
html = html.replace(/\[/gi, "&lBrac");
html = html.replace(/\]/gi, "&rBrac");
// html = html.replace(/<b>/gi, "[b]");
html = html.replace(/<i>/gi, "[i]");
html = html.replace(/<u>/gi, "[u]");
// html = html.replace(/<\/b>/gi, "[/b]");
html = html.replace(/<\/i>/gi, "[/i]");
html = html.replace(/<\/u>/gi, "[/u]");
html = html.replace(/<s>/gi, "[s]");
html = html.replace(/<\/s>/gi, "[/s]");
html = html.replace(/<em>/gi, "[i]");
html = html.replace(/<\/em>/gi, "[/i]");
html = html.replace(/<strong>/gi, "[b]");
html = html.replace(/<\/strong>/gi, "[/b]");
html = html.replace(/<a(.*?)href="(.*?)"(.*?)>(.*?)<\/a>/gi, "[url=$2]$4[/url]");
html = html.replace(/<span class="nb" style="text-align:( )?(.*?)(;)?">(.*?)<\/span>$/gi, "[$2]$4[/$2]");
html = htmlToBBCodeParseSpan(html);
return html;
}
var htmlToBBCodeParseSpan = function (html) {
if (html.match(/<span[^>]*>/gi)) {
var found = html.match(/<span[^>]*>[^>]*<\/span>/gi);
found.forEach(function(v) {
html = html.replace(v, htmlToBBCodeReplaceSpan(v));
});
return htmlToBBCodeParseSpan(html);
} else {
return html
}
}
var htmlToBBCodeReplaceSpan = function (html) {
html = html.replace(/<span style="font-family:(.*?)">(.*?)<\/span>/gi, "[font=$1]$2[/font]");
html = html.replace(/<span style="font-size:(.*?)px">(.*?)<\/span>/gi, "[size=$1]$2[/size]");
html = html.replace(/<span style="color:(.*?)">(.*?)<\/span>/gi, "[color=$1]$2[/color]");
html = html.replace(/<span style="background-color:(.*?)">(.*?)<\/span>/gi, "[bgcolor=$1]$2[/bgcolor]");
html = html.replace(/<span>(.*?)<\/span>/gi, "$1");
return html;
}
// ubb 转 html
var BBCodeToHtml = function (bbcode) {
bbcode = bbcode.replace(/&lBrac/gi, '[')
bbcode = bbcode.replace(/&rBrac/gi, ']')
bbcode = bbcode.replace(/&nbsp;/g, ' ')
bbcode = bbcode.replace(/&lt;/g, '<')
bbcode = bbcode.replace(/&gt;/g, '>')
bbcode = bbcode.replace(/&amp;/g, '&')
bbcode = bbcode.replace(/\[i\]/gi, "<em>");
bbcode = bbcode.replace(/\[\/i\]/gi, "</em>");
bbcode = bbcode.replace(/\[b\]/gi, "<strong>");
bbcode = bbcode.replace(/\[\/b\]/gi, "</strong>");
bbcode = bbcode.replace(/\[u\]/gi, "<u>");
bbcode = bbcode.replace(/\[\/u\]/gi, "</u>");
bbcode = bbcode.replace(/\[s\]/gi, "<s>");
bbcode = bbcode.replace(/\[\/s\]/gi, "</s>");
bbcode = bbcode.replace(/\[bgcolor=(.*?)\]/gi, '<span style="background-color:$1">')
bbcode = bbcode.replace(/\[font=(.*?)\]/gi, '<span style="font-family:$1">')
bbcode = bbcode.replace(/\[size=(.*?)\]/gi, '<span style="font-size:$1px;">')
bbcode = bbcode.replace(/\[color=(.*?)\]/gi, '<span style="color:$1">')
bbcode = bbcode.replace(/\[left\]/gi, '<span class="nb" style="text-align: left;">')
bbcode = bbcode.replace(/\[center\]/gi, '<span class="nb" style="text-align: center;">')
bbcode = bbcode.replace(/\[right\]/gi, '<span class="nb" style="text-align: right;">')
bbcode = bbcode.replace(/\[\/(left|center|right)\]/gi, '</span>')
bbcode = bbcode.replace(/\[\/(font|size|bgcolor|color)\]/gi, "</span>");
bbcode = bbcode.replace(/\[url=(.*?)\](.*?)\[\/url\]/gi, '<a href="$1">$2<\/a>')
return bbcode;
}
// ubb对齐方式预览
function BBcodeToShare(bbcode) {
bbcode = bbcode.replace(/\[left\]/gi, '<p class="nb" style="text-align: left;">')
bbcode = bbcode.replace(/\[center\]/gi, '<p class="nb" style="text-align: center;">')
bbcode = bbcode.replace(/\[right\]/gi, '<p class="nb" style="text-align: right;">')
bbcode = bbcode.replace(/\[\/(left|center|right)\]/gi, '</p>')
bbcode = BBCodeToHtml(bbcode)
return bbcode
}
// ubb清除
var BBCodeToEmpty = function (bbcode) {
bbcode = bbcode.replace(/\[i\]/gi, "");
bbcode = bbcode.replace(/\[\/i\]/gi, "");
bbcode = bbcode.replace(/\[b\]/gi, "");
bbcode = bbcode.replace(/\[\/b\]/gi, "");
bbcode = bbcode.replace(/\[u\]/gi, "");
bbcode = bbcode.replace(/\[\/u\]/gi, "");
bbcode = bbcode.replace(/\[s\]/gi, "");
bbcode = bbcode.replace(/\[\/s\]/gi, "");
bbcode = bbcode.replace(/\[bgcolor=(.*?)\]/gi, '')
bbcode = bbcode.replace(/\[font=(.*?)\]/gi, '')
bbcode = bbcode.replace(/\[size=(.*?)\]/gi, '')
bbcode = bbcode.replace(/\[color=(.*?)\]/gi, '')
bbcode = bbcode.replace(/\[left\]/gi, '')
bbcode = bbcode.replace(/\[center\]/gi, '')
bbcode = bbcode.replace(/\[right\]/gi, '')
bbcode = bbcode.replace(/\[\/(left|center|right)\]/gi, '')
bbcode = bbcode.replace(/\[\/(font|size|bgcolor|color)\]/gi, "");
bbcode = bbcode.replace(/\[url=(.*?)\](.*?)\[\/url\]/gi, '')
return bbcode;
}
ubb正则转换
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。
相关阅读更多精彩内容
- 如何将 PROSITE 正则表达式转换为Python 正则表达式 PROSITE(http://prosite.e...
- 繁简转换 HanLP几乎实现了所有我们需要的繁简转换方式,并且已经封装到了HanLP中,使得我们可以轻松的使用,而...
- 代码地址:https://github.com/TianhaoFu/RegEx_based_convertor R...
- 一、简述 使用SpringMVC接收过时间参数的程序员都应该知道,时间转换是一个令人头疼的问题,虽然这不是什么大问...