asp之自动闭合HTML/ubb标签函数 附简单注释


这最近在PJ的function库里看到的这个函数,感觉思路差了点,不过相对比较完美,只是闭合标签时的顺序问题,呵呵
修改一下数组arrTags里的各元素内容,可以达到闭合任何标签的功能。
在此,我给增加了一些注释,方便大家一起学习学习

复制代码 代码如下:

Function closeUBB(strContent)
'*************************************
'自动闭合UBB
'*************************************
Dim arrTags, i, OpenPos, ClosePos, re, strMatchs, j, Match
Set re = New RegExp '申明re对象
re.IgnoreCase = True '设置是否区分字符大小写
re.Global = True '设置全局可用性
arrTags = Array("code", "quote", "list", "color", "align", "font", "size", "b", "i", "u", "html") '建立数组,存储相关需要检测是否闭合的标签
For i = 0 To UBound(arrTags) '循环对数组里的每一个元素进行检测
OpenPos = 0 '初始化当前标签开始标记的个数
ClosePos = 0 '初始化当前标签结束标记的个数
re.Pattern = "\[" + arrTags(i) + "(=[^\[\]]+|)\]" '开始分别正则判断开始与结束标记的个数
Set strMatchs = re.Execute(strContent)
For Each Match in strMatchs
OpenPos = OpenPos + 1
Next
re.Pattern = "\[/" + arrTags(i) + "\]"
Set strMatchs = re.Execute(strContent)
For Each Match in strMatchs
ClosePos = ClosePos + 1
Next
For j = 1 To OpenPos - ClosePos '当开始与结束标记数量不一致时,闭合当前标签
strContent = strContent + "[/" + arrTags(i) + "]"
Next
Next
closeUBB = strContent
Set re = Nothing
End Function

closehtml的注释同上
复制代码 代码如下:

Function closehtml(strContent)
'*************************************
'自动闭合html
'*************************************
Dim arrTags, i, OpenPos, ClosePos, re, strMatchs, j, Match
Set re = New RegExp
re.IgnoreCase = True
re.Global = True
arrTags = Array("p", "DIV", "span", "table", "ul", "font", "b", "u", "i", "h1", "h2", "h3", "h4", "h5", "h6")
For i = 0 To UBound(arrTags)
OpenPos = 0
ClosePos = 0
re.Pattern = "\<" + arrTags(i) + "( [^\<\>]+|)\>"
Set strMatchs = re.Execute(strContent)
For Each Match in strMatchs
OpenPos = OpenPos + 1
Next
re.Pattern = "\</" + arrTags(i) + "\>"
Set strMatchs = re.Execute(strContent)
For Each Match in strMatchs
ClosePos = ClosePos + 1
Next
For j = 1 To OpenPos - ClosePos
strContent = strContent + "</" + arrTags(i) + ">"
Next
Next
closehtml = strContent
Set re = Nothing
End Function



相关阅读:
帝国ECMS技巧教程:修改已经生成的文章路径
jquery中常用的SET和GET
asp取动态表单中数据并写入xml文件,用xsl显示
AJAX javascript的跨域访问执行
php 正则表达式提取网页超级链接url的函数
Linux操作系统目录配置标准FHS详细介绍
Chrome渲染引擎同Safari
httpd.conf设置一个IP两个域名的方法
Apache的目录安全措施
Linux系统管理员必备的知识
使用ajax做右下角弹出提示
Linux系统平台下用Fdisk分区格式化硬盘
MySQL数据库账户授权相关管理 (3
s基础:CSS的位置问题
快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道 作文范文 我学会了做生意 旅游局党务公开方案 运动会广播稿之送给运动员(3) 沉静 课堂上玩游戏 职场攻略:融入雁阵 2015年寒假社会实践总结 刘同:纵有疾风来,人生不言弃 520跟老婆表白的话 机械工程师新产品设计工作总结 励志故事:不要为失去的钱包而懊悔 记一次小小故事会作文500字 描写雪的优美句子 忍不住想你作文900字 小鸭和小鸡作文400字 少年的黄昏 幼儿园小班班主任工作总结范文 700字四年级的作文:乡间小记 暧昧的本质是激情,而爱情的本质是平淡:情感日志 关于加强统计工作改革创新的调研报告 市国土资源局社会评价情况整改报告 2014部队军人入党申请书 2012年宣传工作总结 一种情,连着两个世界】 第一次的日记,最后一天的上班 树立社会主义法治理念为构建和谐社会创造良好的法治环境 朋友是啥? 祖国真伟大作文600字 人教版高三词汇积累 《七颗钻石》个性化教学设计15 你是否也会让我直达永恒 被偷走的那五年台词 国庆节作文:关于爱国的读后感 影落无尘发表日志:回忆 我跟猴哥的约定作文700字 一年级写母亲的作文:我依然懂你 经济全球化与转型国家的制度变迁 我在低处仰望,梦过尘世幻想。 医院妇联工作总结范文 生化危机(一)作文600字 死亡交响曲 2015劳动法病假工资规定 感恩的慈善 池上送考功崔郎中,兼别房窦二妓 写紫荆花的相关作文 给妹妹的回信 李家同:陌生人的好 放浪少年(第十五章) 种大蒜作文300字 煤矿班组建设经验材料

Copyright © 2016 phpStudy |