ASP网页编程之使用“正则表达式” 工具完成UBB作风的...
问题是他们究竟是喜欢他们是使用软件时,速度快还是速度慢好.(当然在3秒以内).无论是他们输入资料时,查找资料时,分析资料时.ubb|工具|正则上一次,我们谈到在ASP中怎样使用“正则表达式”工具来完成各类数据的校验,文中形貌了正则表达式工具的壮大功效,接上去,我们来看看有关“正则表达式”工具的其他功效。当我们在网上冲浪的时分,特别是扫瞄各种论坛的时分,常常会晤到“UBB代码”这个词语。甚么是UBB代码呢?UBB代码是HTML的一个变种,是UltimateBulletinBoard(外洋一个BBS程序,国际也有很多中央利用这个程序)接纳的一种特别的TAG。为了不用户偶然大概成心的HTML代码对论坛的打击,各类论坛基础上都屏障了HTML代码,可是为了使得论坛加倍“多姿多彩”,论坛城市响应的开放一些自界说的Tag标签,相似于HTML中的Tag,好比“,,,”,如许,能够供应一些同等于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
[#ff0000]一段白色的字[/#]
#前面跟的色彩的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("()(S+)()",temp,"<strike>$2</strike>")‘举行UBB代码的模版婚配与交换
temp=ReplaceTest("()(S+)()",temp,"<sub>$2</sub>")‘举行UBB代码的模版婚配与交换
temp=ReplaceTest("()(S+)()",temp,"<sup>$2</sup>")
temp=ReplaceTest("()(S+)()",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=ReplaceTest("()(S+)()",temp,"<h2>$2</h2>")
temp=ReplaceTest("()(S+)()",temp,"<h3>$2</h3>")
temp=ReplaceTest("()(S+)()",temp,"<h4>$2</h4>")
temp=ReplaceTest("()(S+)()",temp,"<h5>$2</h5>")
temp=ReplaceTest("()(S+)()",temp,"<h6>$2</h6>")
temp=ReplaceTest("()(S+)()",temp,"<fontcolor=red>$2</font>")
这里能够增添新的UBB代码的完成模版
temp=ReplaceTest("()(S+)()",temp,"<ahref=""mailto:$2""target=_top>$2</a>")
temp=ReplaceTest("()",temp,"<imgsrc=""$2"">")
temp=ReplaceTest("()(S+)()",temp,"<ahref=""$2""target=_top>$2</a>")
temp=ReplaceTest("([#(S+)])(S+)([/#])",temp,"<fontcolor=$1>$3</font>")‘举行UB</p>ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于WindowsNT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失; 哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的? 下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。 ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。 兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的 先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习 我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。 Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write 接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。
页:
[1]