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

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

OpenPosOpenPos = OpenPos + 1

Next

re.Pattern = "\[/" + arrTags(i) + "\]"

Set strMatchs = re.Execute(strContent)

For Each Match in strMatchs

ClosePosClosePos = ClosePos + 1

Next

For j = 1 To OpenPos - ClosePos '当开始与结束标记数量不一致时,闭合当前标签

strContentstrContent = strContent + "[/" + arrTags(i) + "]"

Next

Next

closeUBB = strContent

Set re = Nothing

End Function

程序代码

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

OpenPosOpenPos = OpenPos + 1

Next

re.Pattern = "\</" + arrTags(i) + "\>"

Set strMatchs = re.Execute(strContent)

For Each Match in strMatchs

ClosePosClosePos = ClosePos + 1

Next

For j = 1 To OpenPos - ClosePos

strContentstrContent = strContent + "</" + arrTags(i) + ">"

Next

Next

closeHTML = strContent

Set re = Nothing

End Function

下面的是pjblog的函数代码,但没有注释,学习研究建议参考上面的注释

复制代码 代码如下:

'*************************************

'自动闭合UBB

'*************************************

Function closeUBB(strContent)

Dim arrTags, i, OpenPos, ClosePos, re, strMatchs, j, Match

Set re = New RegExp

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

End Function

'*************************************

'自动闭合HTML

'*************************************

Function closeHTML(strContent)

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

End Function

时间: 2024-10-04 00:16:35

asp之自动闭合HTML/ubb标签函数附简单注释的相关文章

asp之自动闭合HTML/ubb标签函数 附简单注释_应用技巧

这最近在PJ的function库里看到的这个函数,感觉思路差了点,不过相对比较完美,只是闭合标签时的顺序问题,呵呵 修改一下数组arrTags里的各元素内容,可以达到闭合任何标签的功能. 在此,我给增加了一些注释,方便大家一起学习学习 复制代码 代码如下: Function closeUBB(strContent) '************************************* '自动闭合UBB '************************************* Dim

asp之自动闭合HTML/ubb标签函数附简单注释_应用技巧

Function closeUBB(strContent) '************************************* '自动闭合UBB '************************************* Dim arrTags, i, OpenPos, ClosePos, re, strMatchs, j, Match Set re = New RegExp '申明re对象 re.IgnoreCase = True '设置是否区分字符大小写 re.Global =

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

这最近在PJ的function库里看到的这个函数,感觉思路差了点,不过相对比较完美,只是闭合标签时的顺序问题,呵呵 修改一下数组arrTags里的各元素内容,可以达到闭合任何标签的功能. 在此,我给增加了一些注释,方便大家一起学习学习 复制代码 代码如下: Function closeUBB(strContent) '************************************* '自动闭合UBB '************************************* Dim

asp之自动闭合HTML/ubb标签函数

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("

ASP.NET跳转问题img标签onclick自动执行

问题描述 ASP.NET跳转问题img标签onclick自动执行 最近在自学asp.net,试着写一个小小的登录功能,aspx页面是用的img标签的onclick事件,但是好像页面刚加载的时候就自动调用了,不知道是怎么回事.求大神帮忙.以下是代码:aspxjs部分 function loginclick() { <%Login_Click();%> }html部分 解决方案 下面的html代码看不到

ASP小偷程序需要用到的函数:用于可控制删除文本中的html标签

程序|函数|控制|小偷程序 函数用于去除文本中的html标签,可以控制删除哪些标签. 要控制被删除的标签列表,可以通过向TAGLIST常数中添加/删除标记来实现. 例如,要保留所有的<B>标签,则从TAGLIST中删除B. 当前的列表包含了MSDN中的所有html标签以及 LAYER 标签. 每个标签要用";"括起来. 开始标签和结束标签都会被删除,例如"<A...>"和</A...> 若标签同时在 TAGLIST 和 BLOCK

php截取html字符串及自动补全html标签的方法

 这篇文章主要介绍了php截取html字符串及自动补全html标签的方法,是php对html操作非常实用的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了php截取html字符串及自动补全html标签的方法.分享给大家供大家参考.具体分析如下: 这里总结一下关于利用php截取html字符串自动补全html标签,实际开发中会经常碰到,很多人直接先strip_tags过滤掉html标签,但是就只剩下纯文本了,可读性非常差,下面是一个函数,代码如下: 代码如下: /** * 截

php截取html字符串及自动补全html标签的方法_php技巧

本文实例讲述了php截取html字符串及自动补全html标签的方法.分享给大家供大家参考.具体分析如下: 这里总结一下关于利用php截取html字符串自动补全html标签,实际开发中会经常碰到,很多人直接先strip_tags过滤掉html标签,但是就只剩下纯文本了,可读性非常差,下面是一个函数,代码如下: 复制代码 代码如下: /**  * 截取HTML,并自动补全闭合  * @param $html  * @param $length  * @param $end  */ function

网页-用什么技术可以实现asp页面自动生成htm页面?

问题描述 用什么技术可以实现asp页面自动生成htm页面? 我的网站是用asp编写的,如何做到:在网页内容创建或者更新时自动生成静态HTML页面,以后的浏览全部引向静态页面?用什么技术去实现?可以向我推荐一些书籍! 解决方案 这个不是asp干的活,可以通过其他发布程序可以直接生成html页面的.百度下吧,现在发布成html页面的系统也比较多.asp页面最多是通过前端的web服务,可以配置成页面缓存. 解决方案二: 你可以是试一下asp.net的页面静态化,还是要写程序自动生成的 解决方案三: 全