一个不错的用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中通过过滤器获取表单元素的实现代码
Jul 05 Javascript
ajax异步刷新实现更新数据库
Dec 03 Javascript
JS截取url中问号后面参数的值信息
Apr 29 Javascript
jQuery.extend()、jQuery.fn.extend()扩展方法示例详解
May 08 Javascript
Javascript实现的Map集合工具类完整实例
Jul 31 Javascript
ES6新特性之模块Module用法详解
Apr 01 Javascript
浅谈从React渲染流程分析Diff算法
Sep 08 Javascript
移动端 Vue+Vant 的Uploader 实现上传、压缩、旋转图片功能
Jun 10 Javascript
vue的注意规范之v-if 与 v-for 一起使用教程
Aug 04 Javascript
微信小程序页面间传递数组对象方法解析
Nov 06 Javascript
javascript实现视频弹幕效果(两个版本)
Nov 28 Javascript
JS实现横向跑马灯效果代码
Apr 20 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
《Re:从零开始的异世界生活 冰结之绊》
2020/04/09 日漫
PHP 中的面向对象编程:通向大型 PHP 工程的办法
2006/12/03 PHP
php 生成短网址原理及代码
2014/01/23 PHP
ThinkPHP3.2框架自带分页功能实现方法示例
2019/05/13 PHP
tp5.1 框架查询表达式用法详解
2020/05/25 PHP
自己动手开发jQuery插件教程
2011/08/25 Javascript
jquery post方式传递多个参数值后台以数组的方式进行接收
2013/01/11 Javascript
JavaScript替换当前页面的方法
2015/04/03 Javascript
RequireJS入门一之实现第一个例子
2015/09/30 Javascript
AngularJS 依赖注入详解及示例代码
2016/08/17 Javascript
值得分享的bootstrap table实例
2016/09/22 Javascript
微信小程序 安全包括(框架、功能模块、账户使用)详解
2017/01/16 Javascript
12个非常有用的JavaScript技巧
2017/05/17 Javascript
vue弹窗消息组件的使用方法
2020/09/24 Javascript
解决bootstrap中下拉菜单点击后不关闭的问题
2018/08/10 Javascript
解决vue中修改export default中脚本报一大堆错的问题
2018/08/27 Javascript
微信小程序自定义select下拉选项框组件的实现代码
2018/08/28 Javascript
vuejs实现ready函数加载完之后执行某个函数的方法
2018/08/31 Javascript
python列表与元组详解实例
2013/11/01 Python
Python中序列的修改、散列与切片详解
2017/08/27 Python
Python使用SQLite和Excel操作进行数据分析
2018/01/20 Python
tensorflow实现softma识别MNIST
2018/03/12 Python
Python实现接受任意个数参数的函数方法
2018/04/21 Python
Python中py文件引用另一个py文件变量的方法
2018/04/29 Python
python微信撤回监测代码
2019/04/29 Python
django 读取图片到页面实例
2020/03/27 Python
Python unittest单元测试openpyxl实现过程解析
2020/05/27 Python
Pyecharts 中Geo函数常用参数的用法说明
2021/02/01 Python
咖啡为什么会有酸味?你喝到的咖啡為什麼是酸的?
2021/03/17 冲泡冲煮
CSS3 实现的加载动画
2020/12/07 HTML / CSS
一篇.NET面试题
2014/09/29 面试题
聊城大学毕业生自荐书
2014/02/01 职场文书
2014年社区民政工作总结
2014/12/02 职场文书
个人先进事迹材料
2014/12/29 职场文书
前台接待员岗位职责
2015/04/15 职场文书
2015年医院护理部工作总结
2015/04/23 职场文书