一个不错的用JavaScript实现的UBB编码函数

 更新时间:2007年03月09日 00:00:00   作者:  

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;  
}

相关文章

  • uniApp获取当前位置经纬度的示例代码

    uniApp获取当前位置经纬度的示例代码

    这篇文章主要介绍了uniApp获取当前位置经纬度,以下是使用uni.getLocation获取当前位置的示例代码,需要的朋友可以参考下
    2024-01-01
  • JS 打印界面的CSS居中代码适用所有浏览器

    JS 打印界面的CSS居中代码适用所有浏览器

    这篇文章主要介绍了JS 打印界面的CSS居中代码,需要的朋友可以参考下
    2014-03-03
  • 微信小程序外卖选购页实现切换分类与数量加减功能案例

    微信小程序外卖选购页实现切换分类与数量加减功能案例

    这篇文章主要介绍了微信小程序外卖选购页实现切换分类与数量加减功能,结合具体实例形式分析了微信小程序状态记录、判定及数值运算相关操作技巧,需要的朋友可以参考下
    2019-01-01
  • 自己写一个uniapp全局弹窗(APP端)

    自己写一个uniapp全局弹窗(APP端)

    应用uni-app跨平台框架进行项目开发过程中,需要实现版本更新时全页面弹窗,底部导航栏无法点击的效果,下面这篇文章主要给大家介绍了关于uniapp全局弹窗(APP端)的相关资料,需要的朋友可以参考下
    2022-10-10
  • 微信小程序实现顶部导航特效

    微信小程序实现顶部导航特效

    这篇文章主要为大家详细介绍了微信小程序实现顶部导航特效,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • javascript中setTimeout使用指南

    javascript中setTimeout使用指南

    本文给大家通过3个方法向大家展示了javascript中的setTimeout的使用,非常的简单,有需要的小伙伴可以参考下。
    2015-07-07
  • 如何用JavaScript实现功能齐全的单链表详解

    如何用JavaScript实现功能齐全的单链表详解

    这篇文章主要给大家介绍了关于如何用JavaScript实现功能齐全的单链表的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-02-02
  • javascript实现控制文字大中小显示

    javascript实现控制文字大中小显示

    网页上可以自由改变字体大小是个非常有助于用户体验的小功能,现在许多网站上都有此功能,今天我们来简单实现下。
    2015-04-04
  • 基于jQuery通过jQuery.form.js插件使用ajax提交form表单

    基于jQuery通过jQuery.form.js插件使用ajax提交form表单

    在jQuery Form插件可以让你很容易的使用AJAX提交Form表单,主要方法ajaxForm和ajaxSubmit负责收集表单元素的信息,管理提交进程。这两种方法都是可配置的,让你完全控制Form提交,本篇文章介绍基于jQuery通过jQuery.form.js插件使用ajax提交form表单,需要的朋友可以参考下
    2015-08-08
  • JS+CSS实现网页加载中的动画效果

    JS+CSS实现网页加载中的动画效果

    这篇文章主要为大家详细介绍了JS+CSS实现网页加载中的动画效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10

最新评论