一个不错的用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 相关文章推荐
用jscript启动sqlserver
Jun 21 Javascript
jQuery 研究心得 取得属性的值
Nov 30 Javascript
基于JQuery的一句代码实现表格的简单筛选
Jul 26 Javascript
XENON基于JSON变种
Jul 27 Javascript
javascript中运用闭包和自执行函数解决大量的全局变量问题
Dec 30 Javascript
JS小功能(操作Table--动态添加删除表格及数据)实现代码
Nov 28 Javascript
JavaScript字符串对象substr方法入门实例(用于截取字符串)
Oct 16 Javascript
js实现获取div坐标的方法
Nov 16 Javascript
编写高质量JavaScript代码的基本要点
Mar 02 Javascript
JS闭包、作用域链、垃圾回收、内存泄露相关知识小结
May 16 Javascript
微信小程序 教程之模板
Oct 18 Javascript
Vue2.0父组件与子组件之间的事件发射与接收实例代码
Sep 19 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
整理的9个实用的PHP库简介和下载
2010/11/09 PHP
很棒的学习jQuery的12个网站推荐
2011/04/28 Javascript
javascript 密码框防止用户粘贴和复制的实现代码
2014/02/17 Javascript
jQuery中:empty选择器用法实例
2014/12/30 Javascript
Redis基本知识、安装、部署、配置笔记
2015/03/05 Javascript
jQuery Validate表单验证入门学习
2015/12/18 Javascript
基于jquery实现智能提示控件intellSeach.js
2016/03/17 Javascript
vue页面使用阿里oss上传功能的实例(一)
2017/08/09 Javascript
浅谈angularJs函数的使用方法(大小写转换,拷贝,扩充对象)
2018/10/08 Javascript
vue element中axios下载文件(后端Python)
2019/05/10 Javascript
探索JavaScript中私有成员的相关知识
2019/06/13 Javascript
解析JS在获取当前月的最后一天遇到的坑
2019/08/30 Javascript
微信小程序如何实现radio单选框单击打勾和取消
2020/01/21 Javascript
JavaScript 双向链表操作实例分析【创建、增加、查找、删除等】
2020/04/28 Javascript
详解Python的Twisted框架中reactor事件管理器的用法
2016/05/25 Python
Python解析json之ValueError: Expecting property name enclosed in double quotes: line 1 column 2(char 1)
2017/07/06 Python
numpy找出array中的最大值,最小值实例
2018/04/03 Python
对numpy中array和asarray的区别详解
2018/04/17 Python
python保存二维数组到txt文件中的方法
2018/11/15 Python
Python和Java的语法对比分析语法简洁上python的确完美胜出
2019/05/10 Python
python搜索包的路径的实现方法
2019/07/19 Python
python实现画循环圆
2019/11/23 Python
Python基于gevent实现高并发代码实例
2020/05/15 Python
Python脚本如何在bilibili中查找弹幕发送者
2020/06/04 Python
Python爬取豆瓣数据实现过程解析
2020/10/27 Python
运动鞋中的劳斯莱斯:索康尼(SAUCONY)
2017/08/09 全球购物
美国首屈一指的高品质珠宝设计师和零售商:Allurez
2018/01/23 全球购物
Clearly澳大利亚:购买眼镜、太阳镜和隐形眼镜
2018/04/26 全球购物
英国第一独立滑雪板商店:The Snowboard Asylum
2020/01/16 全球购物
Ray-Ban雷朋奥地利官网:全球领先的太阳眼镜品牌
2020/10/12 全球购物
如何用Python来进行查询和替换一个文本字符串
2014/01/02 面试题
项目资料员岗位职责
2013/12/10 职场文书
初中英语演讲稿
2014/04/29 职场文书
2016特色励志班级口号
2015/12/24 职场文书
如何使用flask将模型部署为服务
2021/05/13 Python
python中tkinter复选框使用操作
2021/11/11 Python