一个不错的用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 相关文章推荐
Javascript hasOwnProperty 方法 &amp; in 关键字
Nov 26 Javascript
浅谈Javascript的静态属性和原型属性
May 07 Javascript
简介JavaScript中Math.cos()余弦方法的使用
Jun 15 Javascript
javascript 小数乘法结果错误的处理方法
Jul 28 Javascript
AngularJS入门教程之ng-class 指令用法
Aug 01 Javascript
node.js实现快速截图
Aug 27 Javascript
浅谈Javascript中的函数、this以及原型
Oct 09 Javascript
webpack配置的最佳实践分享
Apr 21 Javascript
React为 Vue 引入容器组件和展示组件的教程详解
May 03 Javascript
在Vue组件中获取全局的点击事件方法
Sep 06 Javascript
详解webpack引用jquery(第三方模块)的三种办法
Aug 21 jQuery
js之ajax文件上传
May 13 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中的使用情况
2015/11/05 PHP
php curl常用的5个经典例子
2017/01/20 PHP
JavaScript 高效运行代码分析
2010/03/18 Javascript
基于jquery的跟随屏幕滚动代码
2012/07/24 Javascript
jQuery实现页面滚动时层智能浮动定位实例探讨
2013/03/29 Javascript
chrome浏览器不支持onmouseleave事件的解决技巧
2013/05/31 Javascript
js获取select默认选中的Option并不是当前选中值
2014/05/07 Javascript
JS数组的遍历方式for循环与for...in
2014/07/31 Javascript
javascript动态控制服务器控件实例
2014/09/05 Javascript
JavaScript获取网页表单提交方式的方法
2015/04/02 Javascript
JS实现带缓冲效果打开、关闭、移动一个层的方法
2015/05/09 Javascript
纯javascript实现分页(两种方法)
2015/08/26 Javascript
javascript针对不确定函数的执行方法
2015/12/16 Javascript
javascript动画系列之模拟滚动条
2016/12/13 Javascript
JavaScript组件开发之输入框加候选框
2017/03/10 Javascript
Vue异步组件使用详解
2017/04/08 Javascript
微信小程序之GET请求的实例详解
2017/09/29 Javascript
详解Vue中localstorage和sessionstorage的使用
2017/12/22 Javascript
基于vue中解决v-for使用报红并出现警告的问题
2018/03/03 Javascript
vue中组件的3种使用方式详解
2019/03/23 Javascript
jQuery实现视频展示效果
2020/05/30 jQuery
[26:21]浴火之凤-TI4世界冠军Newbee战队纪录片
2014/08/07 DOTA
一个超级简单的python web程序
2014/09/11 Python
Python实现二分法算法实例
2015/02/02 Python
Python实现合并字典的方法
2015/07/07 Python
Python实现读取SQLServer数据并插入到MongoDB数据库的方法示例
2018/06/09 Python
Python 比较文本相似性的方法(difflib,Levenshtein)
2018/10/15 Python
详解Django+uwsgi+Nginx上线最佳实战
2019/03/14 Python
使用python爬取抖音视频列表信息
2019/07/15 Python
Python性能测试工具Locust安装及使用
2020/12/01 Python
python实现三种随机请求头方式
2021/01/05 Python
Looking4Parking美国:全球排名第一的机场停车比较品牌
2019/08/26 全球购物
杭州时比特电子有限公司SQL
2013/08/22 面试题
大学生推广普通话演讲稿
2014/09/21 职场文书
民主生活会汇报材料
2014/12/15 职场文书
手写Spirit防抖函数underscore和节流函数lodash
2022/03/22 Javascript