一个不错的用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 相关文章推荐
[原创]网络复制内容时常用的正则+editplus
Nov 30 Javascript
jQuery 全选效果实现代码
Mar 23 Javascript
javascript 嵌套的函数(作用域链)
Mar 15 Javascript
JS简单限制textarea内输入字符数量的方法
Oct 14 Javascript
JS实现的随机排序功能算法示例
Jun 09 Javascript
angular过滤器实现排序功能
Jun 27 Javascript
详解Vue中localstorage和sessionstorage的使用
Dec 22 Javascript
js实现HTML中Select二级联动的实例
Jan 05 Javascript
微信小程序 云开发模糊查询实现解析
Sep 02 Javascript
vue中实现高德定位功能
Dec 03 Javascript
微信小程序实现列表的横向滑动方式
Jul 15 Javascript
nestjs返回给前端数据格式的封装实现
Feb 22 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
测试php函数的方法
2013/11/13 PHP
PHP判断浏览器、判断语言代码分享
2015/03/05 PHP
PHP Ajax JavaScript Json获取天气信息实现代码
2016/08/17 PHP
微信网页授权(OAuth2.0) PHP 源码简单实现
2016/08/29 PHP
php进程(线程)通信基础之System V共享内存简单实例分析
2019/11/09 PHP
Yii 框架入口脚本示例分析
2020/05/19 PHP
网页设计常用的一些技巧
2006/12/22 Javascript
xtree.js 代码
2007/03/13 Javascript
异步javascript的原理和实现技巧介绍
2012/11/08 Javascript
JS比较两个时间大小的简单示例代码
2013/12/20 Javascript
js统计录入文本框中字符的个数并加以限制不超过多少
2014/05/23 Javascript
jquery 中的each()跳出循环的语句
2014/05/23 Javascript
推荐4个原生javascript常用的函数
2015/01/12 Javascript
jQuery实现带幻灯的tab滑动切换风格菜单代码
2015/08/27 Javascript
jQuery实现简单滚动动画效果
2016/04/07 Javascript
基于angular2 的 http服务封装的实例代码
2017/06/29 Javascript
详解使用React全家桶搭建一个后台管理系统
2017/11/04 Javascript
对angular2中的ngfor和ngif指令嵌套实例讲解
2018/09/12 Javascript
vue2 拖动排序 vuedraggable组件的实现
2019/08/08 Javascript
在layui中使用form表单监听ajax异步验证注册的实例
2019/09/03 Javascript
利用d3.js制作连线动画图与编辑器的方法实例
2019/09/05 Javascript
Vue 实现从文件中获取文本信息的方法详解
2019/10/16 Javascript
JS设置自定义快捷键并实现图片上下左右移动
2019/10/17 Javascript
JavaScript 替换所有匹配内容及正则替换方法
2020/02/12 Javascript
Vue和React有哪些区别
2020/09/12 Javascript
[00:12]2018DOTA2亚洲邀请赛SOLO赛 MidOne是否中单第一人?
2018/04/05 DOTA
[01:33:30]DOTA2-DPC中国联赛 正赛 RNG vs Phoenix BO3 第二场 2月5日
2021/03/11 DOTA
django manage.py扩展自定义命令方法
2018/05/27 Python
Python实现购物评论文本情感分析操作【基于中文文本挖掘库snownlp】
2018/08/07 Python
python字典的常用方法总结
2019/07/31 Python
python中random模块详解
2021/03/01 Python
Giglio英国站:意大利奢侈品购物网
2018/03/06 全球购物
七年级音乐教学反思
2014/01/26 职场文书
银行会计主管岗位职责
2014/10/01 职场文书
如何写辞职信
2015/05/13 职场文书
Meta增速拉垮,元宇宙难当重任
2022/04/29 数码科技