一个不错的用JavaScript实现的UBB编码函数
2007-03-09 00:00
585 查看
function JsUBB(str)
{
var re=//[i/]http://www.jb51.net/article/(.[^/[]*)/[//i/]/gi;
str=str.replace(re,"<i>$1</i>"); //斜体字
re=//[b/]http://www.jb51.net/article/(.[^/[]*)/[//b/]/gi;
str=str.replace(re,"<b>$1</b>"); //粗体字
re=//[u/]http://www.jb51.net/article/(.[^/[]*)/[//u/]/gi;
str=str.replace(re,"<u>$1</u>"); //下划线
re=//[color=http://www.jb51.net/article/(.[^/[]*)/]http://www.jb51.net/article/(.[^/[]*)/[//color/]/gi;
str=str.replace(re,"<font color=$1>$2</font>"); //字体颜色
re=//[size=([1-7])/]http://www.jb51.net/article/(.[^/[]*)/[//size/]/gi;
str=str.replace(re,"<font size=$1>$2</font>"); //字体大小
re=//[face=http://www.jb51.net/article/(.[^/[]*)/]http://www.jb51.net/article/(.[^/[]*)/[//face/]/gi;
str=str.replace(re,"<font face=$1>$2</font>"); //字体
re=//[center/]http://www.jb51.net/article/(.[^/[]*)/[//center/]/gi;
str=str.replace(re,"<div align='center'>$1</div>"); //居中
re=//[right/]http://www.jb51.net/article/(.[^/[]*)/[//right/]/gi;
str=str.replace(re,"<div align='right'>$1</div>"); //右对齐
re=//[quote/]http://www.jb51.net/article/(.[^/[]*)/[//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]*)/]http://www.jb51.net/article/(.[^/[]*)/[//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]*)/]http://www.jb51.net/article/(.[^/[]*)/[//GLOW]/gi; //外发光
str=str.replace(re,"<table width=$1 ><tr><td style='filter:glow(color=$2, strength=$3)'>$4</td></tr></table>")
re=//[URL/]http://www.jb51.net/article/(.[^/[]*)/[//URL/]/gi;
str=str.replace(re,"<a href='$1' target=_blank>$1</a>"); //超链接1
re=//[URL=http://www.jb51.net/article/(.[^/[]*)/]http://www.jb51.net/article/(.[^/[]*)/[//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-]+)+)/]http://www.jb51.net/article/(.[^/[]*)/[//EMAIL/]/gi;
str=str.replace(re,"<a href='mailto:$1'>$4</a>"); //电子邮件链接2
re=//[img/]http://www.jb51.net/article/(.[^/[]*)/[//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;
}
{
var re=//[i/]http://www.jb51.net/article/(.[^/[]*)/[//i/]/gi;
str=str.replace(re,"<i>$1</i>"); //斜体字
re=//[b/]http://www.jb51.net/article/(.[^/[]*)/[//b/]/gi;
str=str.replace(re,"<b>$1</b>"); //粗体字
re=//[u/]http://www.jb51.net/article/(.[^/[]*)/[//u/]/gi;
str=str.replace(re,"<u>$1</u>"); //下划线
re=//[color=http://www.jb51.net/article/(.[^/[]*)/]http://www.jb51.net/article/(.[^/[]*)/[//color/]/gi;
str=str.replace(re,"<font color=$1>$2</font>"); //字体颜色
re=//[size=([1-7])/]http://www.jb51.net/article/(.[^/[]*)/[//size/]/gi;
str=str.replace(re,"<font size=$1>$2</font>"); //字体大小
re=//[face=http://www.jb51.net/article/(.[^/[]*)/]http://www.jb51.net/article/(.[^/[]*)/[//face/]/gi;
str=str.replace(re,"<font face=$1>$2</font>"); //字体
re=//[center/]http://www.jb51.net/article/(.[^/[]*)/[//center/]/gi;
str=str.replace(re,"<div align='center'>$1</div>"); //居中
re=//[right/]http://www.jb51.net/article/(.[^/[]*)/[//right/]/gi;
str=str.replace(re,"<div align='right'>$1</div>"); //右对齐
re=//[quote/]http://www.jb51.net/article/(.[^/[]*)/[//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]*)/]http://www.jb51.net/article/(.[^/[]*)/[//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]*)/]http://www.jb51.net/article/(.[^/[]*)/[//GLOW]/gi; //外发光
str=str.replace(re,"<table width=$1 ><tr><td style='filter:glow(color=$2, strength=$3)'>$4</td></tr></table>")
re=//[URL/]http://www.jb51.net/article/(.[^/[]*)/[//URL/]/gi;
str=str.replace(re,"<a href='$1' target=_blank>$1</a>"); //超链接1
re=//[URL=http://www.jb51.net/article/(.[^/[]*)/]http://www.jb51.net/article/(.[^/[]*)/[//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-]+)+)/]http://www.jb51.net/article/(.[^/[]*)/[//EMAIL/]/gi;
str=str.replace(re,"<a href='mailto:$1'>$4</a>"); //电子邮件链接2
re=//[img/]http://www.jb51.net/article/(.[^/[]*)/[//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;
}
相关文章推荐
- 一个不错的用JavaScript实现的UBB编码函数
- javascript实现的又一个不错的滑动导航效果
- javascript实现的又一个不错的滑动导航效果
- javascript实现的又一个不错的滑动导航效果
- Javascript实现一个简单的页面倒计时功能
- 一个简单的JavaScript数据缓存系统实现代码
- 第一次用javascript写了一个不用刷新就能实现--用户名验证的例子
- JavaScript就这么回事1-5(转的一个不错的JavaScript基础教程)
- javascript实现一个简单的弹出窗
- 一个JavaScript继承的实现
- javascript实现点击按钮弹出一个可关闭层窗口同时网页背景变灰的方法
- PHP javascript 实现将将一句话分解成包含所有单词的一个数组
- 给大家介绍一个日期输入控件javascript实现,我修改了下,符合我的习惯了,^_^!
- 用javascript实现一个简单编译器的思路
- JavaScript实现一个简易的计算器实例代码
- 用JavaScript实现用一个DIV来包装文本元素节点
- 从零开始构建实现一个JavaScript模块化加载器
- 一个不错的linux实时内核实现方案
- 使用javascript原生实现一个模板引擎
- 一个不错的javascript导航条