JavaScript实现的UBB编码转换函数

作者:小括号

时间:2026-10-29

浏览:76

本文介绍了一个使用JavaScript实现的UBB编码转换函数。该函数利用正则表达式将自定义的UBB标签(如粗体、斜体、颜色、图片、链接等)替换为对应的HTML标签,实现文本格式的转换。代码包含对多种格式的支持,适用于简单的富文本处理场景。

文章目录

JavaScript实现的UBB编码转换函数

function JsUBB(str) { var re = /[i/](.[^/[]*)/[//i/]/gi; str = str.replace(re, "<i>$1</i>"); // 斜体字 re = /[b/](.[^/[]*)/[//b/]/gi; str = str.replace(re, "<b>$1</b>"); // 粗体字 re = /[u/](.[^/[]*)/[//u/]/gi; str = str.replace(re, "<u>$1</u>"); // 下划线 re = /[color=(.[^/[]*)/](.[^/[]*)/[//color/]/gi; str = str.replace(re, "<font color=$1>$2</font>"); // 字体颜色 re = /[size=([1-7])/](.[^/[]*)/[//size/]/gi; str = str.replace(re, "<font size=$1>$2</font>"); // 字体大小 re = /[face=(.[^/[]*)/](.[^/[]*)/[//face/]/gi; str = str.replace(re, "<font face=$1>$2</font>"); // 字体 re = /[center/](.[^/[]*)/[//center/]/gi; str = str.replace(re, "<div align='center'>$1</div>"); // 居中 re = /[right/](.[^/[]*)/[//right/]/gi; str = str.replace(re, "<div align='right'>$1</div>"); // 右对齐 re = /[quote/](.[^/[]*)/[//quote/]/gi; // 引用 str = str.replace(re, "<table bgcolor='#E6FFE6' width='90%' style='border:1px #009900 dotted' align='center'><tr><td class='td1'>$1</td></tr></table>"); re = /[fly/](.*)/[//fly/]/gi; // 飞行 str = str.replace(re, "<marquee width=90% behavior=alternate scrollamount=3>$1</marquee>"); re = /[move/](.*)/[//move/]/gi; // 移动 str = str.replace(re, "<MARQUEE scrollamount=3>$1</marquee>"); re = /[SHADOW=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)/](.[^/[]*)/[//SHADOW]/gi; // 阴影 str = str.replace(re, "<table width=$1><tr><td style='filter:shadow(color=$2, strength=$3)'>$4</td></tr></table>"); re = /[GLOW=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)/](.[^/[]*)/[//GLOW]/gi; // 外发光 str = str.replace(re, "<table width=$1 ><tr><td style='filter:glow(color=$2, strength=$3)'>$4</td></tr></table>"); re = /[URL/](.[^/[]*)/[//URL/]/gi; str = str.replace(re, "<a href='$1' target=_blank>$1</a>"); // 超链接1 re = /[URL=(.[^/[]*)/](.[^/[]*)/[//URL/]/gi; str = str.replace(re, "<a href='$1' target=_blank>$2</a>"); // 超链接2 re = /[EMAIL/]([/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+)/[//EMAIL/]/gi; str = str.replace(re, "<a href='mailto:$1'>$1</a>"); // 电子邮件链接1 re = /[EMAIL=([/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+)/](.[^/[]*)/[//EMAIL/]/gi; str = str.replace(re, "<a href='mailto:$1'>$4</a>"); // 电子邮件链接2 re = /[img/](.[^/[]*)/[//img/]/gi; str = str.replace(re, "<a href='$1' target=_blank><img src='$1' border='0' alt='单击在新窗口浏览'></a>"); // 图片 re = /:em(/d{1,}):/gi; str = str.replace(re, "<img src='emot/$1.gif' border='0'>"); // 表情图标 return str; }

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章