asp求助 Function 过程段

FunctionKillHTMLLabel(str)Dimn,m,str2n=inStr(str,"<")m=inStr(str,">")str2=strDowhilen... Function KillHTMLLabel(str)

Dim n,m,str2
n = inStr(str,"<")
m = inStr(str,">")
str2 = str
Do while n > 0 and n < m
str2 = Left(str2,n-1) & Mid(str2,m+1)
n = inStr(str2,"<")
m = inStr(str2,">")
Loop
KillHTMLLabel = str2

End Function
谁能帮我每句对照翻译讲解一下亚,我刚开始学,很多不懂。
展开
 我来答
liu_binq63
2006-11-03 · TA获得超过1485个赞
知道大有可为答主
回答量:1881
采纳率:0%
帮助的人:2286万
展开全部
这是一个删除发贴字符串中HTML代码的函数。具体解释如下:

Function KillHTMLLabel(str) '函数开始

Dim n,m,str2 '定义三个变量
n = inStr(str,"<") '找到第一个"<"所在的位置
m = inStr(str,">") '找到第一个">"所在的位置
str2 = str '把str的值赋给str2
Do while n > 0 and n < m '如果n>0则说明找到了一个"<",如果n<m则说明"<"在">"的左边,则"<"和">"之间的字符串为HTML代码,需要过滤掉
str2 = Left(str2,n-1) & Mid(str2,m+1) '取"<"左边的字符串和">"右边的字符串并将他们连接在一起
n = inStr(str2,"<") '找到剩余字符串中第一个"<"所在的位置
m = inStr(str2,">") '找到剩余字符串中第一个">"所在的位置
Loop '循环
KillHTMLLabel = str2 '将过滤好的字符串返回。

End Function '结束。
这个函数有漏洞。
对于这样的字符串他是无法过滤的:><html>,这个字符串因为在运行第一遍循环时不符合条件,所以程序就会跳到loop后面,但是这个字符串中的html代码却不能过滤掉。
最好的办法是用正则表达式来过滤
百度网友eba64bf03
2006-11-03 · TA获得超过593个赞
知道大有可为答主
回答量:1043
采纳率:0%
帮助的人:0
展开全部
Function KillHTMLLabel(str)

Dim n,m,str2 ‘定义三个变量
n = inStr(str,"<") ’n是字符串中小于号出现的位置
m = inStr(str,">") ‘ m是字符串中大于号出现的位置
str2 = str ’转存一个字符即备份
Do while n > 0 and n < m ‘找到小于号且大于号在小于号的后面
str2 = Left(str2,n-1) & Mid(str2,m+1) ’去掉字符串中<*>这部分内容
n = inStr(str2,"<")
m = inStr(str2,">")
Loop ‘循环直到找不到<>
KillHTMLLabel = str2 ’返回去除<*>标记后的字符串内容

End Function
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式