一个不错的用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游戏开发之《三国志曹操传》零部件开发(一)让静态人物动起来
Jan 23 Javascript
javascript-简单的计算器实现步骤分解(附图)
May 30 Javascript
jquery调取json数据实现省市级联的方法
Jan 29 Javascript
node.js学习之base64编码解码
Oct 21 Javascript
JavaScript实现页面无操作倒计时退出
Oct 22 Javascript
微信公众平台开发教程(四) 实例入门:机器人回复(附源码)
Dec 02 Javascript
Bootstrap基本插件学习笔记之Tooltip提示工具(18)
Dec 08 Javascript
JavaScript实现二维坐标点排序效果
Jul 18 Javascript
Vue实现按钮旋转和移动位置的实例代码
Aug 09 Javascript
vue组件三大核心概念图文详解
May 30 Javascript
vue实现五子棋游戏
May 28 Javascript
VSCode插件安装完成后的配置(常用配置)
Aug 24 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的宝库目录--PEAR
2006/10/09 PHP
一个目录遍历函数
2006/10/09 PHP
php ignore_user_abort与register_shutdown_function 使用方法
2009/06/14 PHP
thinkphp3.0 模板中函数的使用
2012/11/13 PHP
解决extjs在firefox中关闭窗口再打开后iframe中js函数访问不到的问题
2008/11/06 Javascript
获取客户端电脑日期时间js代码(jquery)
2012/09/12 Javascript
模拟用户点击弹出新页面不会被浏览器拦截
2014/04/08 Javascript
原生javascript实现简单的datagrid数据表格
2015/01/02 Javascript
深入理解JavaScript系列(17):面向对象编程之概论详细介绍
2015/03/04 Javascript
JavaScript Sort 的一个错误用法示例
2015/03/20 Javascript
javascript实现点击按钮弹出一个可关闭层窗口同时网页背景变灰的方法
2015/05/13 Javascript
全面解析Bootstrap表单样式的使用
2016/09/09 Javascript
etmvc+jQuery EasyUI+combobox多值操作实现角色授权实例
2016/11/09 Javascript
SVG动画vivus.js库使用小结(实例代码)
2017/09/14 Javascript
vue生成token保存在客户端localStorage中的方法
2017/10/25 Javascript
nodejs超出最大的调用栈错误问题
2017/12/27 NodeJs
vue.js input框之间赋值方法
2018/08/24 Javascript
JavaScript闭包相关知识解析
2019/10/19 Javascript
JavaScript this使用方法图解
2020/02/04 Javascript
微信小程序使用GoEasy实现websocket实时通讯
2020/05/19 Javascript
JS+CSS实现动态时钟
2021/02/19 Javascript
[59:35]DOTA2-DPC中国联赛定级赛 Aster vs DLG BO3第一场 1月8日
2021/03/11 DOTA
python的tkinter布局之简单的聊天窗口实现方法
2014/09/03 Python
Python中内置数据类型list,tuple,dict,set的区别和用法
2015/12/14 Python
python日期时间转为字符串或者格式化输出的实例
2018/05/29 Python
Django unittest 设置跳过某些case的方法
2018/12/26 Python
详解Django中CBV(Class Base Views)模型源码分析
2019/02/25 Python
numpy np.newaxis 的实用分享
2019/11/30 Python
tornado+celery的简单使用详解
2019/12/21 Python
python 深度学习中的4种激活函数
2020/09/18 Python
医务工作者先进事迹材料
2014/01/26 职场文书
高中班主任评语大全
2014/04/25 职场文书
实习生工作证明范本
2014/09/14 职场文书
公文写作:新员工转正申请书范本3篇!
2019/08/07 职场文书
励志正能量20句:送给所有为梦想拼搏的人
2019/11/11 职场文书
纯CSS实现一个简单步骤条的示例代码
2022/07/15 HTML / CSS