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
谁能帮我每句对照翻译讲解一下亚,我刚开始学,很多不懂。 展开
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
谁能帮我每句对照翻译讲解一下亚,我刚开始学,很多不懂。 展开
2个回答
展开全部
这是一个删除发贴字符串中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代码却不能过滤掉。
最好的办法是用正则表达式来过滤
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代码却不能过滤掉。
最好的办法是用正则表达式来过滤
展开全部
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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询