LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

ASP正则获取指定ubb标签(img/url/p/color等)转换为HTML标签内容

admin
2024年10月11日 10:47 本文热度 295

ASP正则获取指定ubb标签[img]转换为HTML图片img内容范例:

Function UBB2HTML(ubbString)

    Dim pattern, replacement

    Dim regEx

 

    ' 将 [b] 和 [/b] 标签转换为 HTML 粗体标签 <b> 和 </b>

    pattern = "\[b\](.*?)\[/b\]"

    replacement = "<b>\1</b>"

    Set regEx = New RegExp

    regEx.Global = True

    regEx.IgnoreCase = True

    regEx.Pattern = pattern

    ubbString = regEx.Replace(ubbString, replacement)

 

    ' 其他标签转换类似处理...

 

    ' 返回转换后的字符串

    UBB2HTML = ubbString

End Function

 

' 使用示例

Dim ubbContent, htmlContent

ubbContent = "[b]这是粗体文本[/b],还有其他的转换规则"

htmlContent = UBB2HTML(ubbContent)

Response.Write(htmlContent)

strContent = "[IMG]upload/9/20091211213529.jpg[/IMG]"

Dim re

Set re=new RegExp

re.IgnoreCase = true

re.Global = True

re.Pattern="(\[IMG\])(.[^\[]*)(\[\/IMG\])"

strContent=re.Replace(strContent,"<img src=""$2"" border=""0"" />")

这个例子只展示了如何将 【b】 标签转换为 HTML 粗体标签 <b>,下面的例子是将【img】标签转换为 HTML 的图片标签<img>。你需要根据你的UBB标记的具体类型扩展这个函数,添加更多的标签转换规则。例如,对于 【i】 (斜体)、【url】 (链接)、【img】 (图片)等标签,都需要相应的处理。

请注意,这个例子使用了正则表达式来进行转换,并且没有进行错误处理。在实际应用中,你应该添加必要的错误处理和对正则表达式的安全检查,以避免潜在的安全问题。下面是将常见UBB标签替换为了HTML标签的一个函数:

Function UBB2HTML(ubbString)

  UBB2HTML=ubbString

  if UBB2HTML &"CS"<>"CS" then

    UBB2HTML=replace(UBB2HTML,"【br】","<br>",1,-1,1)

    UBB2HTML=replace(UBB2HTML,"【p】","<p>",1,-1,1)

    UBB2HTML=replace(UBB2HTML,"【/p】","</p>",1,-1,1)

    UBB2HTML=replace(UBB2HTML,"【b】","<b>",1,-1,1)

    UBB2HTML=replace(UBB2HTML,"【/b】","</b>",1,-1,1)

    UBB2HTML=replace(UBB2HTML,"【i】","<i>",1,-1,1)

    UBB2HTML=replace(UBB2HTML,"【/i】","</i>",1,-1,1)

    Set re=new RegExp

    re.IgnoreCase = true

    re.Global = True

    re.Pattern="(\[img\])(.[^\[]*)(\[\/img\])"

    UBB2HTML=re.Replace(UBB2HTML,"<img src=""$2"" border=""0"" />")

    re.Pattern="(\[color=)(.[^\[]*)(\])"

    UBB2HTML=re.Replace(UBB2HTML,"<font color=""$2"">")

    UBB2HTML=replace(UBB2HTML,"[/color]","</font>",1,-1,1)

    re.Pattern="(\[url=)(.[^\[]*)(\])"

    UBB2HTML=re.Replace(UBB2HTML,"<a href=""$2"" target=""_blank"">")

    UBB2HTML=replace(UBB2HTML,"[/url]","</a>",1,-1,1)

  end if

End Function

UBB代码是HTML(标准通用标记语言下的一个应用)的一个变种,是Ultimate Bulletin Board (国外的一个BBS程序)采用的一种特殊的TAG。您也许已经对它很熟悉了。UBB代码很简单,功能很少,但是由于其Tag语法检查实现非常容易,所以不少网站引入了这种代码,以方便网友使用显示图片/链接/加粗字体等常见功能。


定义

所谓UBB代码,是指论坛中的替代HTML代码的安全代码。

这种代码使用正则表达式来进行匹配,不同的论坛所使用的UBB代码很可能不同,不能一概而论。UBB代码的出现,使得论坛可以使用类似HTML的标签来增加文字的属性,同时又不用害怕HTML代码中所夹带的不良信息!

UBB并没有明确的标准,网络上的UBB种类繁多,语法不一。


代码介绍

UBB 标记是您可能已经熟悉的 HTML标记的一种变种。基本上,它允许您在文章中添加本来需要 HTML 标记的功能或风格。即使您所在的讨论区不允许使用 HTML 标记,UBB 标记仍然可以使用。因为比 HTML 要求更少的编码技术,您也许更愿意使用 UBB 标记,即便讨论区允许使用 HTML 标记。

您不能在一个功能中混合使用 HTML 和 UBB 标记。同时 UBB 标记是大小写无关的 (因而,你可以使用大写或小写).


标记

UBB支持的标记主要如下表格所示:

UltraBoard Code
说明
[url]www.tool.org[/url]
加入带有说明的超级链接。
[url=http://www.tool.org]www.atool.org[/url]
-
[download=http://tool.org/2.zip]下载[/download]
下载地址和说明
[email]ubb@tool.org[/email]
加入带有说明的电子邮件地址。
[img]http://www.tool.org/res/logo.png[/img]
显示你的图像,但请记住,http://是必须的。
[b]粗体[/b]
粗体显示
[i]斜体[/i]
斜体显示
[u]下划线[/u]
带有下划线的显示
[1]字号一[/1]
字号一
[2]字号二[/2]
字号二
[3]字号三[/3]
字号三
[4]字号四[/4]
字号四
[sup]上标[/sup]
上标显示
[sub]下标[/sub]
下标显示
[center]居中[/center]
居中显示
[right]居右[/right]
-
[color=#0000FF]颜色[/color]
带有颜色的显示
[&]
显示符号 &
[*]条目
无序缩进和列表
[list]条目
条目
[quote]引用[/quote]
引用显示
[fly]滚动文本[/fly]
相当于html marquee tag,其中direction为right,behavior为scroll,scrollamount为10,scrolldelay为200
[font=宋体]字体[/font]
字体
[size=3]字体大小[/size]
字体大小
[#f7f7f7]彩色[/#]
同[color]标记
[w]http://www.tool.org[/w]或
在当前浏览其中显示一个浏览器窗口,相当于iframe,请注意url必须输入正确
[f w=200 h=300]http://www.tool.org/1.swf[/f] [f]http://www.tool.org/1.swf[/f]
flash,w为高度,h为宽度,使用第二种方式时缺省宽度和高度为500像素
[code]代码[/code]
代码显示


UBB标记说明

您不能在一个功能中混合使用 HTML 和 UBB 标记。同时 UBB 标记是大小写无关的 (因而,你可以使用 [URL] 或 [url])。

不正确的 UBB 标记用法有以下:

不支持嵌套。

[url="www.atool.org"]www.atool.org[/url] - 等于号后加的内容不用加引号。

[url] www.atool.org [/url] - 不要在标记和标记作用的文字之间加空格。

[email]ubb@atool.org[email] - 结束标记必须包括正斜杠 ([/email])。

UBB与HTML

UBB与HTML一样,都是用来标记文本,并赋予文本一定的样式动作,但UBB作为HTML的一个变种,具备有代码简单、功能实用、上手简单、安全性高、不存在xss注入问题,因此被广泛引用于论坛讨论组等网站。

但因为毕竟HTML是主流的标记语言,而且HTML语法较UBB丰富,因此存在着将UBB和HTML转化的需求,对于UBB和HTML之间的转换,仅仅需要对应UBB的语法标签,利用正则表达式匹配即可完成。


使用举例

[red]文字[/red]红色

[green]文字[/green] 绿色

[blue]文字[/blue] 蓝色

[white]文字[/white] 白色

[purple]文字[/purple] 紫色

[yellow]文字[/yellow] 黄色

[violet]文字[/violet] 紫罗兰色

[brown]文字[/brown] 褐色

[black]文字[/black] 黑色

[pink]文字[/pink] 粉红色

[orange]文字[/orange] 橙色

[gold]文字[/gold] 金色

[h1]文字[/h1] 标题1

[h2]文字[/h2] 标题2

[h3]文字[/h3] 标题3

[h4]文字[/h4] 标题4

[h5]文字[/h5] 标题5

[h6]文字[/h6] 标题6

[size=1]文字[/size=1] 1号字

[size=2]文字[/size=2] 2号字(偏小)

[size=3]文字[/size=3] 3号字(正常大小)

[size=4]文字[/size=4] 4号字(偏大)

[size=5]文字[/size=5] 5号字

[size=6]文字[/size=6] 6号字

[font=仿宋]文字[/font=仿宋] 仿宋体

[font=黑体]文字[/font=黑体] 黑体

[font=楷体]文字[/font=楷体] 楷体

[font=隶书]文字[/font=隶书] 隶书体

[font=宋体]文字[/font=宋体] 宋体

[font=幼圆]文字[/font=幼圆] 幼圆体

[b]文字[/b]加粗

[u]文字[/u] 下划线

[i]文字[/i]倾斜

[left]文字[/left]文字 左对齐

[center]文字[/center] 居中

[right]文字[/right] 右对齐

[url=链接地址]链接文字[/url] 超级链接

[code]文字[/code] 代码

[IMG]图片地址[/IMG] 贴图

[mail]文字[/mail] EMAIL地址

[quote]文字[/quote] 引用文字

[movl]文字[/movl] 文字左移

[movlr]文字[/movlr] 文字左右移

[movr]文字[/movr] 文字右移

[hide]文字[/hide] 隐藏回复可见内容,只能用于主题帖

[flash]文字[/flash] flash地址(swf)

[music]文字[/music] 音乐地址(mp3,wma,rm,mid)

[movie]文字[/movie] 电影地址(wmv,avi)

[media]文字[/media] 电影地址(wmv,avi)

[light]文字[/light] 彩字


功能

功能UBB代码可以实现哪些HTML的功能,及它的使用例子和技巧?

1、有两种方法可以加入超级连接,可以连接具体地址或者文字连

2、实现HTML中的代码功能,用表格框上

        [CODE]文字段落[/CODE]

3、引用效果,用表格框上

        [QUOTE]引用段落[/QUOTE]

4、实现HTML目录效果

        [UL]文字[/UL] - 相当于html中的


该文章在 2024/10/12 11:08:31 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved