当前位置: 首页 > 图文教程 > 网络编程 > ASP > 去除HTML代码中所有标签的两种方法

ASP
ASP优化:几招提高ASP性能的最佳选择
ASP进阶:用ASP制作统计饼图、柱状图等
ASP应用进阶 ASP Error对象的相关知识
ASP常见数学函数 Abs Atn Cos 等详解
ASP优化 用数据绑定实现高效率动态网页
用着放心 为你的ASP程序作一个负载测试
ASP+Access的安全隐患以及解决方法
ASP中将视频文件转换成.flv格式
经典!5分钟编写一个ASP论坛
ASP实现小偷程序原理和简单示例
用ASP木马实现FTP和解压缩
如何用ASP编写网站统计系统
response.write与之间的区别
asp操作excel文件的函数
如何有效提高asp页面的访问速度
JS+ASP打造无刷新新闻列表
使用VB将ASP代码封装生成DLL文件
用ASP打造一个小型的网页BBS系统
ASP网站的漏洞分解以及入侵防范方法
破解网站发布系统 ASP生成静态页面方法

ASP 中的 去除HTML代码中所有标签的两种方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 180 ::
收藏到网摘: n/a

去除HTML代码中所有标签
复制代码 代码如下:

<%
'******************************
'函数:RemoveHTML_A(strText)
'参数:strText,待处理的字符串
'作者:阿里西西
'日期:2007/7/12
'描述:去除HTML代码中所有标签
'示例:<%=RemoveHTML_A("<b>欢迎光临阿里西西</b>")%>
'******************************
Function RemoveHTML_A(strText)
Dim nPos1
Dim nPos2
nPos1 = InStr(strText, "<")
Do While nPos1>0
nPos2 = InStr(nPos1+1, strText, ">")
If nPos2>0 Then
strText = Left(strText, nPos1 - 1) & Mid(strText, nPos2 + 1)
Else
Exit Do
End If
nPos1 = InStr(strText, "<")
Loop
RemoveHTML_A = strText
End Function
%>

去除HTML代码中所有标签之二
复制代码 代码如下:

<%
'******************************
'函数:RemoveHTML_B(strText)
'参数:strText,待处理的字符串
'作者:阿里西西
'日期:2007/7/12
'描述:去除HTML代码中所有标签
'示例:<%=RemoveHTML_B("<b>欢迎光临阿里西西</b>")%>
'******************************
Function RemoveHTML_B( strText )
Dim RegEx
Set RegEx = New RegExp
RegEx.Pattern = "<[^>]*>"
RegEx.Global = True
RemoveHTML_B = RegEx.Replace(strText, "")
End Function
%>

去除HTML代码中所有标签之三
复制代码 代码如下:

<%
'******************************
'函数:RemoveHTML_C(strText)
'参数:strText,待处理的字符串
'作者:阿里西西
'日期:2007/7/12
'描述:去除HTML代码中所有标签
'示例:<%=RemoveHTML_C("<b>欢迎光临阿里西西</b>")%>
'******************************
Function RemoveHTML_C( strText )
Dim TAGLIST
TAGLIST = ";!--;!DOCTYPE;A;ACRONYM;ADDRESS;APPLET;AREA;B;BASE;BASEFONT;" &_
"BGSOUND;BIG;BLOCKQUOTE;BODY;BR;BUTTON;CAPTION;CENTER;CITE;CODE;" &_
"COL;COLGROUP;COMMENT;DD;DEL;DFN;DIR;DIV;DL;DT;EM;EMBED;FIELDSET;" &_
"FONT;FORM;FRAME;FRAMESET;HEAD;H1;H2;H3;H4;H5;H6;HR;HTML;I;IFRAME;IMG;" &_
"INPUT;INS;ISINDEX;KBD;LABEL;LAYER;LAGEND;LI;LINK;LISTING;MAP;MARQUEE;" &_
"MENU;META;NOBR;NOFRAMES;NOSCRIPT;OBJECT;OL;OPTION;P;PARAM;PLAINTEXT;" &_
"PRE;Q;S;SAMP;SCRIPT;SELECT;SMALL;SPAN;STRIKE;STRONG;STYLE;SUB;SUP;" &_
"TABLE;TBODY;TD;TEXTAREA;TFOOT;TH;THEAD;TITLE;TR;TT;U;UL;VAR;WBR;XMP;"
Const BLOCKTAGLIST = ";APPLET;EMBED;FRAMESET;HEAD;NOFRAMES;NOSCRIPT;OBJECT;SCRIPT;STYLE;"
Dim nPos1
Dim nPos2
Dim nPos3
Dim strResult
Dim strTagName
Dim bRemove
Dim bSearchForBlock
nPos1 = InStr(strText, "<")
Do While nPos1 > 0
nPos2 = InStr(nPos1 + 1, strText, ">")
If nPos2 > 0 Then
strTagName = Mid(strText, nPos1 + 1, nPos2 - nPos1 - 1)
strTagName = Replace(Replace(strTagName, vbCr, " "), vbLf, " ")
nPos3 = InStr(strTagName, " ")
If nPos3 > 0 Then
strTagName = Left(strTagName, nPos3 - 1)
End If
If Left(strTagName, 1) = "/" Then
strTagName = Mid(strTagName, 2)
bSearchForBlock = False
Else
bSearchForBlock = True
End If
If InStr(1, TAGLIST, ";" & strTagName & ";", vbTextCompare) > 0 Then
bRemove = True
If bSearchForBlock Then
If InStr(1, BLOCKTAGLIST, ";" & strTagName & ";", vbTextCompare) > 0 Then
nPos2 = Len(strText)
nPos3 = InStr(nPos1 + 1, strText, "</" & strTagName, vbTextCompare)
If nPos3 > 0 Then
nPos3 = InStr(nPos3 + 1, strText, ">")
End If
If nPos3 > 0 Then
nPos2 = nPos3
End If
End If
End If
Else
bRemove = False
End If
If bRemove Then
strResult = strResult & Left(strText, nPos1 - 1)
strText = Mid(strText, nPos2 + 1)
Else
strResult = strResult & Left(strText, nPos1)
strText = Mid(strText, nPos1 + 1)
End If
Else
strResult = strResult & strText
strText = ""
End If
nPos1 = InStr(strText, "<")
Loop
strResult = strResult & strText
RemoveHTML_C = strResult
End Function
%>