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

2018-09-06 13:08

阅读:458

  去除HTML代码中所有标签
复制代码 代码如下:
<%
******************************
函数:RemoveHTML_A(strText)
参数:strText,待处理的字符串
作者:阿里西西
日期:2007/7/12
描述:去除HTML代码中所有标签
示例:<%=RemoveHTML_A(<b>欢迎光临阿里西西</b>)%>
******************************
FunctionRemoveHTML_A(strText)
DimnPos1
DimnPos2

nPos1=InStr(strText,<)
DoWhilenPos1>0
nPos2=InStr(nPos1+1,strText,>)
IfnPos2>0Then
strText=Left(strText,nPos1-1)&Mid(strText,nPos2+1)
Else
ExitDo
EndIf
nPos1=InStr(strText,<)
Loop

RemoveHTML_A=strText
EndFunction
%>

去除HTML代码中所有标签之二
复制代码 代码如下:
<%
******************************
函数:RemoveHTML_B(strText)
参数:strText,待处理的字符串
作者:阿里西西
日期:2007/7/12
描述:去除HTML代码中所有标签
示例:<%=RemoveHTML_B(<b>欢迎光临阿里西西</b>)%>
******************************
FunctionRemoveHTML_B(strText)
DimRegEx

SetRegEx=NewRegExp

RegEx.Pattern=<[^>]*>
RegEx.Global=True

RemoveHTML_B=RegEx.Replace(strText,)
EndFunction
%>

去除HTML代码中所有标签之三
复制代码 代码如下:
<%
******************************
函数:RemoveHTML_C(strText)
参数:strText,待处理的字符串
作者:阿里西西
日期:2007/7/12
描述:去除HTML代码中所有标签
示例:<%=RemoveHTML_C(<b>欢迎光临阿里西西</b>)%>
******************************
FunctionRemoveHTML_C(strText)
DimTAGLIST
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;

ConstBLOCKTAGLIST=;APPLET;EMBED;FRAMESET;HEAD;NOFRAMES;NOSCRIPT;OBJECT;SCRIPT;STYLE;

DimnPos1
DimnPos2
DimnPos3
DimstrResult
DimstrTagName
DimbRemove
DimbSearchForBlock

nPos1=InStr(strText,<)
DoWhilenPos1>0
nPos2=InStr(nPos1+1,strText,>)
IfnPos2>0Then
strTagName=Mid(strText,nPos1+1,nPos2-nPos1-1)
strTagName=Replace(Replace(strTagName,vbCr,),vbLf,)

nPos3=InStr(strTagName,)
IfnPos3>0Then
strTagName=Left(strTagName,nPos3-1)
EndIf

IfLeft(strTagName,1)=/Then
strTagName=Mid(strTagName,2)
bSearchForBlock=False
Else
bSearchForBlock=True
EndIf

IfInStr(1,TAGLIST,;&strTagName&;,vbTextCompare)>0Then
bRemove=True
IfbSearchForBlockThen
IfInStr(1,BLOCKTAGLIST,;&strTagName&;,vbTextCompare)>0Then
nPos2=Len(strText)
nPos3=InStr(nPos1+1,strText,</&strTagName,vbTextCompare)
IfnPos3>0Then
nPos3=InStr(nPos3+1,strText,>)
EndIf

IfnPos3>0Then
nPos2=nPos3
EndIf
EndIf
EndIf
Else
bRemove=False
EndIf

IfbRemoveThen
strResult=strResult&Left(strText,nPos1-1)
strText=Mid(strText,nPos2+1)
Else
strResult=strResult&Left(strText,nPos1)
strText=Mid(strText,nPos1+1)
EndIf
Else
strResult=strResult&strText
strText=
EndIf

nPos1=InStr(strText,<)
Loop
strResult=strResult&strText

RemoveHTML_C=strResult
EndFunction
%>


评论


亲,登录后才可以留言!