您现在的位置: 捷凌网安 >> 服务器 >> WEB开 发 >> PHP >> 正文
正则表达式在UBB论坛中的应用(2)

作者:佚名 责任编辑:左决 点击数: 更新时间:2008-2-20 1:47:32

  六)UBB正则表达模板实例

  下面是我写的一个UBB函数,这个函数基本上能使你的论坛成为一个优秀的UBB代码论坛了。当然,通过改进后,你可以得到一个更强大的UBB论坛。

  Function ReThestr(face,str)
  dim re,str
  re="\>"
  str=checkexp(re,str,">")
  re="\<"
  str=checkexp(re,str,"&lt;")
  re="\n\r\n/"
  str=checkexp(re,str,"<P>")
  re=chr(32)
  str=checkexp(re,str,"&nbsp;")
  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="\[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\]" '替换字体
  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代码如下:
[i] [/i] [u] [/u] [url] [/url] [email=] [/email] [img] [/img]

引用:

[li] [/li] [font=impact] [color=Yellow]
  • 上一篇文章:

  • 下一篇文章:
  •  
    最进更新
    普通文章foxpro 更新源表05-05
    普通文章foxpro 让视图与数据源相连05-05
    普通文章foxpro 机动查询和数据输入05-05
    普通文章foxpro 多个本地数据05-05
    普通文章foxpro 维护源表05-05
    普通文章Oracle 10g Release2新功能之05-05
    普通文章将Oracle 10g内置的安全特性05-05
    普通文章ACCESS 2003 建立数据库视频05-05
    普通文章三种SQL分页法效率分析05-05
    普通文章优化MySQL数据库查询的三种方05-05
     
    推荐文章
    推荐文章教你怎样在MySQL中提高全文搜05-05
    推荐文章SQL Server中数据导入导出三05-05
    推荐文章缓冲技术提高JSP程序的性能和04-17
    推荐文章asp去除HTML标记的三个实用函04-17
    推荐文章何时使用DataGrid、DataList04-17
    推荐文章MySQL存储过程示例04-14
    推荐文章华硕搭建Exchange2007企业邮03-14
    推荐文章升级Win 2003到Windows 200803-14
    推荐文章windows Server 2003 搭建域03-14
    推荐文章服务器成为IT中心的6个理由03-11
     
    热点文章 
    普通文章SQL Server 2008分析服务概览05-01
    普通文章Dlink路由器VPN设置04-29
    推荐文章缓冲技术提高JSP程序的性能和04-17
    普通文章教你优化你的ASP程序04-17
    推荐文章asp去除HTML标记的三个实用函04-17
    普通文章ASP添加验证码的解决方法04-17
    推荐文章何时使用DataGrid、DataList04-17
    普通文章Asp.net中禁止用户多次登录04-17
    普通文章MySQL之表结构修改04-14
    推荐文章MySQL存储过程示例04-14

    | 设为首页 | 加入收藏 | 联系站长 | 广告服务 | 友情链接 | 版权申明 | 网站地图 |

    在线交流 捷凌网安主群:51649627
    Copyright 2007-2008 © 捷凌网安. All rights reserved.
    备案序号:蜀ICP备08001812号