一个不错的用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 相关文章推荐
jquery load()在firefox(火狐)下显示不正常的解决方法
Apr 05 Javascript
Javascript图片上传前的本地预览实例
Jun 16 Javascript
JavaScript forEach()遍历函数使用及介绍
Jul 08 Javascript
微信小程序 地图定位简单实例
Oct 14 Javascript
Easyui笔记2:实现datagrid多行删除的示例代码
Jan 14 Javascript
Bootstrap 过渡效果Transition 模态框(Modal)
Mar 17 Javascript
javascript将list转换成树状结构的实例
Sep 08 Javascript
利用SpringMVC过滤器解决vue跨域请求的问题
Feb 10 Javascript
JS实现的简单折叠展开动画效果示例
Apr 28 Javascript
JS 数组随机洗牌的实例代码
Sep 12 Javascript
微信小程序实现pdf、word等格式文件上传的方法
Sep 10 Javascript
彻底搞懂并解决vue-cli4中图片显示的问题实现
Aug 31 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/10/09 PHP
PHP静态延迟绑定和普通静态效率的对比
2017/10/20 PHP
PHP执行系统命令函数实例讲解
2021/03/03 PHP
在第一个input框内输入内容.textarea自动得到第一个文件框的值的javascript代码
2007/04/20 Javascript
jQuery遍历json中多个map的方法
2015/02/12 Javascript
深入浅析JavaScript中的作用域和上下文
2016/03/26 Javascript
浅谈javascript中new操作符的原理
2016/06/07 Javascript
JavaScript中的this使用详解
2016/07/27 Javascript
关于动态执行代码(js的Eval)实例详解
2016/08/15 Javascript
easyui form validate总是返回false的原因及解决方法
2016/11/07 Javascript
JS实现移动端整屏滑动的实例代码
2017/11/10 Javascript
vue init webpack 建vue项目报错的解决方法
2018/09/29 Javascript
如何在JavaScript中优雅的提取循环内数据详解
2019/03/04 Javascript
JavaScript判断浏览器运行环境的详细方法
2019/06/30 Javascript
js实现双人五子棋小游戏
2020/05/28 Javascript
Vue作用域插槽实现方法及作用详解
2020/07/08 Javascript
Python 读取某个目录下所有的文件实例
2018/06/23 Python
Django 查询数据库并返回页面的例子
2019/08/12 Python
Python高级特性之闭包与装饰器实例详解
2019/11/19 Python
python实现两个字典合并,两个list合并
2019/12/02 Python
pandas针对excel处理的实现
2021/01/15 Python
纯CSS实现聊天框小尖角、气泡效果
2014/04/04 HTML / CSS
为世界各地的女性设计和生产时尚服装:ROMWE
2016/09/17 全球购物
GafasWorld哥伦比亚:网上购买眼镜
2017/11/28 全球购物
中东地区为妈妈们提供一切的头号购物目的地:Sprii
2018/05/06 全球购物
北京-环亚运商测试题.net程序员初步测试题
2013/05/28 面试题
Can a struct inherit from another class? (结构体能继承类吗)
2014/07/22 面试题
入党积极分子介绍信
2014/01/17 职场文书
剪枝的学问教学反思
2014/02/07 职场文书
文员的职业生涯规划发展方向
2014/02/08 职场文书
高等教育学自荐书范文
2014/02/10 职场文书
情况说明书格式范文
2014/05/06 职场文书
泸县召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
工厂员工辞职信范文
2015/05/12 职场文书
2016年“我们的节日·中秋节”活动总结
2016/04/05 职场文书
Laravel中获取IP的真实地理位置
2021/04/01 PHP