UBB 转换函数演示


  UBB代码对于经常上论坛的朋友来说是最熟悉不过了。
经典论坛的UBB转换我觉得是处理的非常好的,研究了一下它的转换结果[因为没有源码:)],做了下面的演示。转换结果基本上觉得象了。

    主要是针对[code][html]这两个标签的处理,其他的UBB标签还是一般的处理方法。

    下面是分别用javascript和vbscript实现的演示。自己做论坛的朋友,如果想实现类似经典论坛的运行代码框可以看看这种转换。

欢迎大家输入尽量多格式的UBB进行测试,多多指出错误。

javascript:

<style>
.CodeSamp {
 PADDING-RIGHT: 0.5em; MARGIN-TOP: 1em; PADDING-LEFT: 0.5em; FONT-SIZE: 8p; MARGIN-BOTTOM: 1em; PADDING-BOTTOM: 0.5em; MARGIN-LEFT: 0pt; PADDING-TOP: 0.5em; FONT-FAMILY: "Courier New"; BACKGROUND-COLOR: #eeeeee;width: 480px;overflow:hidden;border: 1px solid #888888;
}
textarea {
border-width: 1; border-color: #000000;font-size: 12px;FONT-FAMILY: "Tahoma", "MS Shell Dlg";
}
</style>

<TEXTAREA name=phx cols=65 rows=12>
[i][b][color=blue]blue[/color][/b][/i]

[html][color=red]te
st[/color][/html]

[html][code]te
st[/code][/html]

[code][html]te
st[/html][/code]</textarea>
<br><button onclick=show.innerHTML=UBBCode(phx.value,"html")>转换</button><br>
<div id=show style="border:1 solid skyblue;width=500;font-size: 12px;FONT-FAMILY:
''Tahoma'', ''MS Shell Dlg'';
"></div>

<script>
strIcons = "1"  //允许笑脸转换
strSmile="1"   //同上
ImgName="em"
picurl="pic/"

function UBBCode(content,html){
st=new Date().getTime()
content=content.replace(/[(/)?phx_code]/ig,"{$1phx_code}");
content=content.replace(/[(/)?phx_html]/ig,"{$1phx_html}");
content="[phx_code]"+content+"[/phx_code]";         
content=content.replace(/([code]([sS]+?)[/code])/ig,"[/phx_code]$1[phx_code]");
content=content.replace(/[phx_code]([sS]*?)[/phx_code]/ig,function($1,$2){if(html=="html"){return(HTMLCode($2));}else{return(trans($2));}});
content=content.replace(/[code](rn)?([sS]+?)[/code]/ig,function($1,$2,$3){return("<PRE class=CodeSamp>"+DvbbsHtmlAn($3)+"</PRE>")});
content=content.replace(/{(/)?phx_code}

时间: 2024-09-13 19:31:30

UBB 转换函数演示的相关文章

asp之转换函数示例

函数|示例|转换 asp之转换函数示例 Variant变量一般会将其代表的数据子类型自动转换成合适的数据类型,但有时候,自动转换也会造成一些数据类型不匹配的错误.这时,可使用转换函数来强制转换数据的子类型. 函数 功能 Asc 函数 返回与字符串的第一个字母对应的 ANSI 字符代码. Chr 函数 返回与指定的 ANSI 字符代码相对应的字符 Hex 函数 返回表示十六进制数字值的字符串. Oct 函数 返回表示数字八进制值的字符串. CStr 函数 返回表达式,该表达式已被转换为 字符串 子

ORACLE常用数值函数、转换函数、字符串函数介绍

oracle|函数|转换|字符串 ORACLE常用数值函数.转换函数.字符串函数介绍. 数值函数: abs(m) m的绝对值 mod(m,n) m被n除后的余数 power(m,n) m的n次方 round(m[,n]) m四舍五入至小数点后n位的值(n缺省为0)trunc(m[,n]) m截断n位小数位的值(n缺省为0) -------------------------------------------------------------------------------- 字符函数:

简--繁体转换函数

函数|转换 if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_GB2BIG]') and xtype in (N'FN', N'IF', N'TF'))drop function [dbo].[f_GB2BIG]GO --生成码表if exists (select * from dbo.sysobjects where id = object_id(N'[codetable]') and OBJECTP

oracle 转换函数的使用

oracle|函数|转换 1.日期转换函数 add_months(d,n) n 为月的倍数  :例如 d=20041116  add_months(to_date(d,'yyyymmdd',1)  结果为  20041216 日 2.数字转换函数to_number(c,'999,999')转换字符串为number型 例如:  c='158,000'     to_number(c,'999,999')  =158000

网站简繁体转换函数

函数|转换 1.gb.asp <%'获取服务器生成的html代码Function GetHTTPPage(url) dim XmlHttp set XmlHttp=Server.createobject("Microsoft.XMLHTTP") XmlHttp.open "GET",url,false XmlHttp.send() 'getHTTPPage=Http.responseText if XmlHttp.readystate<>4 the

mysql时间转换函数的用法

mysql时间转换函数的用法 返回日期date的星期索引(1=星期天,2=星期一, --7=星期六).这些索引值对应于ODBC标准. mysql> select DAYOFWEEK(2007-10-31); -> 4 WEEKDAY(date) 返回date的星期索引(0=星期一,1=星期二, --6= 星期天). mysql> select WEEKDAY('2007-10-31 13:05:00'); -> 2 mysql> select WEEKDAY('2007-10

php的数组与字符串的转换函数整理汇总

以下是对php中的数组与字符串的转换函数进行了详细的整理汇总,需要的朋友可以参考下   1.将一个字符串转化为数组str_split()用于将一个字符串转化为数组语法: 复制代码 代码如下: str_split(string,length) <SPAN style="COLOR: #333333"><SPAN style="FONT-SIZE: 12px"><SPAN style="FONT-FAMILY: 宋体"&

php实现兼容2038年后Unix时间戳转换函数

 这篇文章主要介绍了php实现兼容2038年后Unix时间戳转换函数,使用方法和就的函数一样,非常实用,推荐给大家,希望大家能够喜欢.     使用方法跟旧的函数一模一样.   代码如下: function fun_strtotime($var1=0,$var2=0){ if(!$var2){ $var2 = $var1; $var1 = 0; } if(is_numeric($var2)){ $var2 = '@'.$var2; } try{ $date = new DateTime($var

PHP全角半角转换函数

 这篇文章主要介绍了PHP全角半角转换函数,把目前能找到的所有全角都列出来了一个个替换吧,需要的朋友可以参考下 之前试过网上找的通过ASCII之类的字符替换,发现很多莫名其妙的问题.最后还是换成下面的字符替换方式了,把目前能找到的所有全角都列出来了一个个替换吧   代码如下: /**  * 全角字符转换为半角  *  * @param string $str  * @return string  */  public function Sbc2Dbc($str)  {  $arr = array