|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
三、UBB正则表达模板实例 下面是我写的一个UBB函数,这个函数基本上能使你的论坛成为一个优秀的UBB代码论坛了。当然,通过改进后,你可以得到一个更强盛的UBB论坛。 Function ReThestr(face,str) dim re,str re=">" str=checkexp(re,str,">") re="<" str=checkexp(re,str,"<") re="nrn/" str=checkexp(re,str,"<P>") re=chr(32) str=checkexp(re,str," ") re="r" str=checkexp(re,str," ") re="[img]((http:(//|\\\\)){1}((w)+[.]){1,3}_ (net|com|cn|org|cc|tv)(((/[~]*|\\[~]*) (w)+)|[.](w)+)*(w)+[.]{1}(gif|jpg|png))[/img]" \\\'查找图片地址 str=checkexp(re,str," <img src=\\\'$1\\\'> ") re="[w](http:(//|\\\\)((w)+[.]){1,}_ (net|com|cn|org|cc|tv)(((/[~]*|\\[~]*)(w)+)|[.](w)+)* (((([?](w)+){1}[=]*))*((w)+){1}([&](w)+[=](w)+)*)*)[/w]" \\\'查找帧地址 str=checkexp(re,str,"<iframe width=\\\'300\\\' height=\\\'300\\\' src=\\\'$1\\\'></iframe>") re="([^(\\\'>)])(<br>)*((http|https|ftp):_ (//|\\\\)((w)+[.]){1,}(net|com|cn|org|cc|tv|_ ([0-9]{1,3}))(((/[~]*|\\[~]*)(w)+)|[.](w)+)*_ (((([?](w)+){1}[=]*))*((w)+){1}([&](w)+[=](w)+)*)*)" \\\'查找链接地址 str=checkexp(re,str,"$1$2 <a href=\\\'$3\\\' target=_blank>$3</a> ") re="([^(http://|http:\\)])((www|cn)[.](w)+[.]{1,}_ (net|com|cn|org|cc)(((/[~]*|\\[~]*)(w)+)|[.](w)+)* (((([?](w)+){1}[=]*))*((w)+){1}([&](w)+[=](w)+)*)*) " \\\'查找不以http://开头的地址 str=checkexp(re,str,"$1 <a href=\\\'http://$2\\\' target=_blank>$2</a> ") re="([^(=)])((w)+[@]{1}((w)+[.]){1,3}(w)+)" \\\'查找邮件地址 str=checkexp(re,str," <a href=\\\'mailto:$2\\\'>$2</a> ") re="[color=(((w)+)|][#][0-F]{6})]((.)+)[/color]" \\\'替换字体色彩 str=checkexp(re,str,"<font color=\\\'$1\\\'>$4</font>") re="[size=(][0-9]{1})]((.)+)[/size]" \\\'替换字体大小 str=checkexp(re,str,"<font size=\\\'$1\\\'>$2</font>") re="[font=((.)+){1,3}]((.)+)[/font]" \\\'替换字体 str=checkexp(re,str,"<font face=\\\'$1\\\'>$3</font>") re="([b])(.+)([/b])" \\\'加粗字体 str=checkexp(re,str,"<b>$2</b>") re="([u])(.+)([/u])" \\\'下画线 str=checkexp(re,str,"<u>$2</u>") re="([li])(.+)([/li])" \\\'列表 str=checkexp(re,str,"<li>$2</li>") re="([QUOTE])(.+)([/QUOTE])" \\\'引用 str=checkexp(re,str,"_ <BLOCKQUOTE>引用:<HR SIZE=1>$2<HR SIZE=1></BLOCKQUOTE>") re="[email=((w)+][@]{1}((w)+[.]){1,3}(w)+)](.+)([/email])" \\\'邮件 str=checkexp(re,str,"<a href=mailto:$1>$6</a>") re="([center])(.+)([/center])" \\\'居中 str=checkexp(re,str,"<center>$2</center>") re="fuck" str=checkexp(re,str,"***") re="操" str=checkexp(re,str,"***") re="sex" str=checkexp(re,str,"***") re="TMD" str=checkexp(re,str,"***") re="shit" str=checkexp(re,str,"***") ReThestr=str end function UBB代码如下: [center] [/center] [email=] [/email] [font=impact] [/font] [color=Yellow] [/color] [size=4] [/size] 测试代码如下: http://cn.yahoo.com http://aol.com http://192.168.0.1 www.yahoo.com how are you[/b] http://page2000.xiloo.com/~page2000?PageNo=2&action=del lucaihui@cmmail.com 大家好http:\\page2000.shit <font color=red>http://test.com</font>http://test 全部符合预想结果 ASP正则表达式对像函数如下: Function CheckExp(patrn,strng,tagstr) Dim regEx,Matches Set regEx=New RegExp\\\'建立一个新对像 regEx.Pattern=patrn\\\'设置模板 regEx.IgnoreCase=true\\\'搜索是否区分大小写的 true表是不区分 flase表示区分 regEx.Global=True\\\'搜索是否应用于整个字符串 Matches=regEx.replace(strng,tagstr)\\\'匹配并替代字符串 CheckExp=Matches\\\'返回函数结果 end function 把上面的两个函数存为一个页面(如ubbcode.asp),这样就组成一个完整的UBB函数了。 在你的论坛上加上这个函数,就成了支持UBB代码的论坛了。只要在用时调用这个函数就行了。调用形式如 text=ReThestr(text) 返回类别: 教程 上一教程: 有关页面登陆的一些设计 下一教程: ASP系列讲座(十一)ACTIVEX 组件 您可以阅读与"正则表达式在网络编程中的运用(5)"相关的教程: · 正则表达式在网络编程中的运用(1) · 正则表达式在网络编程中的运用(2) · 正则表达式在网络编程中的运用(3) · 正则表达式在网络编程中的运用(4) · 正则表达式在网页处理中的应用四则 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |