|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
SQLServer是基于服务器端的中型的数据库,可以适合大容量数据的应用,在功能上管理上也要比Access要强得多。在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。ubb|工具|正则在ASP中使用“正则表达式”工具完成UBB作风的论坛
转贴者语:偶然中在中华网发明了此文,说的就是本站论坛的UBB作风的完成道理,以是贴出来和人人一同分享。
我们谈到在ASP中怎样使用“正则表达式”工具来完成各类数据的校验,文中形貌了正则表达式工具的壮大功效,接上去,我们来看看有关“正则表达式”工具的其他功效。当我们在网上冲浪的时分,特别是扫瞄各种论坛的时分,常常会晤到“UBB代码”这个词语。甚么是UBB代码呢?UBB代码是HTML的一个变种,是UltimateBulletinBoard(外洋一个BBS程序,国际也有很多中央利用这个程序)接纳的一种特别的TAG。为了不用户偶然大概成心的HTML代码对论坛的打击,各类论坛基础上都屏障了HTML代码,可是为了使得论坛加倍“多姿多彩”,论坛城市响应的开放一些自界说的Tag标签,相似于HTML中的Tag,好比“,,[RED],[/RED]”,如许,能够供应一些同等于HTML代码的功效,又制止了论坛遭到歹意打击,这些自界说的各类Tag就是俗称的UBB代码。眼下时兴的论坛均撑持UBB代码,好比:http://www。chinaasp。com(动感手艺收集)的论坛就很好的撑持UBB代码。如今,我们一同利用“正则表达式”工具来完成我们本人的丰厚多彩的UBB代码吧。
起首,你的服务器端(IIS大概PWS)要有VBScript5.0的撑持情况,一样平常指要安装了IE5.X就已能够撑持“正则表达式”工具了。
关于“正则表达式”工具的罕见办法、属性的利用办法,我在本刊的“在ASP中使用“正则表达式”工具完成数据的校验”一文中已有具体先容了,能够拜见那一篇文章,在这里,我次要先容一下完成“UBB代码”的次要正则表达式工具办法:Replace()办法。
Replace办法语法以下:
Replace办法语法以下:
形貌
交换在正则表达式查找中找到的文本。
语法
object.Replace(string1,string2)
Replace办法的语法包括以下几个部分:
部分 形貌
object 必须的。老是一个RegExp工具的称号。
string1 必须的。string1是将要举行文本交换的字符串。
string2 必须的。string2是交换文本字符串。
申明
被交换的文本的实践形式是经由过程RegExp工具的Pattern属性设置的。
Replace办法前往string1的正本,个中的RegExp.Pattern文本已被交换为string2。假如没有找到婚配的文本,将前往本来的string1的正本。
接上去,我们要断定我们终极想要完成一套甚么样的UBB代码?此次我们要完成的UBB代码功效以下:
URL超等链接
在你的信息里到场超等链接,只需按以下体例套进就能够了(UBB代码是粗体).
www.test.net
按上例套进,UBB代码会主动对URL发生链接,并包管当用户点击新的窗口时这个链接是翻开着的。
电子邮件链接
在你的信息里到场电子邮件的超等链接,只需依照下例套进就能够了(UBB代码是粗体)
uestc95@263.net
按上例套进,UBB代码会对电子邮件主动发生链接。
到场图像
在你的信息里到场图像,只需按下例套进就能够了(UBB代码是粗体).
在上例中,UBB代码会主动让图像在你的信息里显现。
其他Tag
另有这些tag,usmallh1h2h3h4h5h6strikeblinksubsupdelprebig,这些tag的功效与html的功效同等
这是一个题目
[/tag]是必需的
让一段笔墨利用色彩显现
这是一个特别的tag
一段白色的字
#前面跟的色彩的16进制RGB代码,如白色是ff0000,绿色是00ff00,而蓝色是0000ff
至于其他形形色色的UBB代码的完成体例同下面的相似,我们就以下面UBB代码完成作为例子来说解“正则表达式”工具的壮大功效。
我们次要利用Replace()办法共同响应的模版,就能够便利的完成UBB代码功效了,在这里我们次要用到了两个本人编写的函数,第一个函数ReplaceTest,这个函数完成的功效次要是将“正则表达式”工具举行了封装,供应三个出口参数:
Patrn
这个参数传送的是UBB代码的婚配模版
Str
这个参数传送的是将要以UBB体例处置的字符串,好比文章内容。
ReplStr
这个参数传送的是婚配成的HTML代码言语。
ReplaceTest函数的出口参数是经由模版婚配交换以后的字符串。
ReplaceTest函数代码以下:
FunctionReplaceTest(patrn,str,replStr)
DimregEx,str1创建变量。
str1=trim(str)
SetregEx=NewRegExp创建正则表达式。
regEx.Pattern=patrn设置形式。
regEx.IgnoreCase=true设置是不是辨别巨细写。
ReplaceTest=regEx.Replace(str1,replStr)作交换。
setregEx=nothing‘烧毁正则表达式工具
EndFunction
我们要编写的第二个函数是:UBB()函数。这个函数完成的功效就是将一段文本举行UBB功效的转换。这个函数仅仅只要一个出口参数:
Str
这个参数传送要被处置的字符串。
UBB函数的出口参数是经由UBB代码处置事后的字符串。
UBB函数的代码以下:(程序中有具体正文信息)
FunctionUBB(str)
dimi,temp‘声明变量
i=1
temp=""
dowhileinstr(i,str,"[/"]>=1 ‘假如没有到达字符串的开端
iftrim(temp)=""then
temp=ReplaceTest("()(S+)()",str,"<i>$2</i>") ‘举行UBB代码的模版婚配与交换
else
temp=ReplaceTest("()(S+)()",temp,"<i>$2</i>") ‘举行UBB代码的模版婚配与交换
endif
temp=ReplaceTest("()(S+)()",temp,"<b>$2</b>") ‘举行UBB代码的模版婚配与交换
temp=ReplaceTest("()(S+)()",temp,"<big>$2</big>") ‘举行UBB代码的模版婚配与交换
temp=ReplaceTest("(<strike>)(S+)(</strike>)",temp,"<strike>$2</strike>")‘举行UBB代码的模版婚配与交换
temp=ReplaceTest("()(S+)()",temp,"<sub>$2</sub>")‘举行UBB代码的模版婚配与交换
temp=ReplaceTest("()(S+)()",temp,"<sup>$2</sup>")
temp=ReplaceTest("()",temp,"<pre>$2</pre>")
temp=ReplaceTest("()(S+)()",temp,"<u>$2</u>")
temp=ReplaceTest("()(S+)()",temp,"<small>$2</small>")
temp=ReplaceTest("()(S+)(
)",temp,"<h1>$2</h1>")
temp</p>缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。 |
|