一个不错的用JavaScript实现的UBB编码函数


Posted in Javascript onMarch 09, 2007

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;  
}

Javascript 相关文章推荐
数组Array进行原型prototype扩展后带来的for in遍历问题
Feb 07 Javascript
jquery拖动插件(jquery.drag)使用介绍
Jun 18 Javascript
Javascript控制页面链接在新窗口打开具体方法
Aug 16 Javascript
Knockout text绑定DOM的使用方法
Nov 15 Javascript
代码触发js事件(click、change)示例应用
Dec 13 Javascript
详解Vue.js动态绑定class
Dec 20 Javascript
iscroll-probe实现下拉刷新和下拉加载效果
Jun 28 Javascript
解决Vue2.0中使用less给元素添加背景图片出现的问题
Sep 03 Javascript
vue实现路由懒加载及组件懒加载的方式
Jun 11 Javascript
浅析Vue 中的 render 函数
Feb 28 Javascript
JS原形与原型链深入详解
May 09 Javascript
JS相册图片抖动放大展示效果的示例代码
Jan 29 Javascript
B/S开发中常用javaScript技术与代码
Mar 09 #Javascript
在线编辑器的实现原理(兼容IE和FireFox)
Mar 09 #Javascript
超级兔子让浮动层消失的前因后果
Mar 09 #Javascript
再谈IE中Flash控件的自动激活 ObjectWrap
Mar 09 #Javascript
javascript的对话框详解与参数
Mar 08 #Javascript
打开超链需要“确认”对话框的方法
Mar 08 #Javascript
javascript学习随笔(使用window和frame)的技巧
Mar 08 #Javascript
You might like
用缓存实现静态页面的测试
2006/12/06 PHP
php cookie 登录验证示例代码
2009/03/16 PHP
php获取远程图片的两种 CURL方式和sockets方式获取远程图片
2011/11/07 PHP
简单的php缓存类分享     php缓存机制
2014/01/22 PHP
ThinkPHP令牌验证实例
2014/06/18 PHP
Prototype源码浅析 Number部分
2012/01/16 Javascript
使用jquery实现简单的ajax
2013/07/08 Javascript
js 时间格式与时间戳的相互转换示例代码
2013/12/25 Javascript
jquery实现在网页指定区域显示自定义右键菜单效果
2015/08/25 Javascript
Node.js的Express框架使用上手指南
2016/03/12 Javascript
Vue.js创建Calendar日历效果
2016/11/03 Javascript
AngularJS 在同一个界面启动多个ng-app应用模块详解
2016/12/20 Javascript
BootStrap fileinput.js文件上传组件实例代码
2017/02/20 Javascript
jQuery animate()实现背景色渐变效果的处理方法【使用jQuery.color.js插件】
2017/03/15 Javascript
Bootstrap 设置datetimepicker在屏幕上面弹出设置方法
2017/03/21 Javascript
JS实现获取汉字首字母拼音、全拼音及混拼音的方法
2017/11/14 Javascript
浅谈React前后端同构防止重复渲染
2018/01/05 Javascript
node.js通过axios实现网络请求的方法
2018/03/05 Javascript
对layui初始化列表的CheckBox属性详解
2019/09/13 Javascript
python实现带声音的摩斯码翻译实现方法
2015/05/20 Python
Python3.5装饰器典型案例分析
2019/04/30 Python
Python + Flask 实现简单的验证码系统
2019/10/01 Python
python2和python3哪个使用率高
2020/06/23 Python
CSS3 圆角效果
2009/07/15 HTML / CSS
CSS3中利用animation属性创建雪花飘落特效
2014/05/14 HTML / CSS
Keds加拿大官网:购买帆布运动鞋和皮鞋
2019/09/26 全球购物
澳大利亚珠宝商:Shiels
2019/10/06 全球购物
请说出几个常用的异常类
2013/01/08 面试题
如何为DataGridView添加一个定制的Column Type
2014/01/21 面试题
Ajax的工作原理
2015/12/04 面试题
历史专业个人求职信范文
2013/12/07 职场文书
大学生创业计划书的用途
2014/01/08 职场文书
学校副校长四风对照检查材料整改措施
2014/09/25 职场文书
2014年大学宣传部工作总结
2014/12/19 职场文书
新教师2015年度工作总结
2015/07/22 职场文书
基于Python实现的购物商城管理系统
2021/04/27 Python