作家
登录

asp中去除内容HTML标签的三个function函数

作者: 来源:www.28hudong.com 2013-03-30 08:42:03 阅读 我要评论

复制代码 代码如下:'============================== '功能描述: 用正则除去HTML标记 '不能保留<b><strong>等以及用户自定义的<和> '============================== Function RemoveHTMLTag(fString) Dim re Set re = New RegExp re.IgnoreCase = True re.Pattern = "<(.[^>]*)>" fString = re.Replace(fString, "") Set re = Nothing RemoveHTMLTag = fString End Function '============================== '功能描述: 除去HTML标记 '不能保留<b><strong>等以及用户自定义的<和> '============================== Function Remove_HTML(Str) Dim ilen1, ilen2 Do While InStr(1, Str, "<", 1) >0 ilen1 = InStr(1, Str, "<", 1) ilen2 = InStr(1, Str, ">", 1) Str = Left(Str, ilen1 -1) & Mid(Str, ilen2 + 1) Loop Remove_HTML = Str End Function '============================== '功能描述: 除去HTML标记 '去除自定义的标记,速度可能有点慢 '============================== Function RemoveHTML(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 strResult = Replace(strResult, Chr(9), "") strResult = Replace(strResult, Chr(32), "") strResult = Replace(strResult, Chr(13), "") strResult = Replace(strResult, Chr(10), "") strResult = Replace(strResult, vbCrLf, "") RemoveHTML = strResult End Function

  推荐阅读

  结合FSO操作和Aspjpeg组件写的Class

《结合FSO操作写的一个Class》 尚在完善中,基本功能已具备. 也可作为初学者的教程 程序代码 <% '***************************** CDS系统 FSO操作类 Beta1 ***************************** '调用方法: Set Obj=New >>>详细阅读


本文标题:asp中去除内容HTML标签的三个function函数

地址:http://www.17bianji.com/kaifa2/ASP/32601.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)