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

复制代码 代码如下:

'==============================

'功能描述: 用正则除去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

时间: 2024-10-14 19:40:46

asp中去除内容HTML标签的三个function函数的相关文章

asp中去除内容HTML标签的三个function函数_应用技巧

复制代码 代码如下: '============================== '功能描述: 用正则除去HTML标记 '不能保留<b><strong>等以及用户自定义的<和> '============================== Function RemoveHTMLTag(fString)         Dim re         Set re = New RegExp         re.IgnoreCase = True         re

asp中获取内容中所有图片与获取内容中第一个图片的代码_应用技巧

复制代码 代码如下: '===================================== '获取内容中所有图片 '===================================== Function Get_ImgSrc(ByVal t0) Dim t1,Regs,Matches,Match t1="" IF Not(IsNull(t0) Or Len(t0)=0) Then Set Regs=New RegExp Regs.Pattern="<img

asp中去除html中style,javascript,css代码_应用技巧

asp函数代码 复制代码 代码如下: <% Function RemoveHTML(str) Dim objRegExp, Match,strHTML if isnull(str) then str="" end if strHTML=str strHTML=replace(replace(replace(strHTML,vblf,""),vbcr,""),vbcrlf,"") Set objRegExp = New R

asp中去除html中style,javascript,css代码

asp函数代码 复制代码 代码如下: <% Function RemoveHTML(str) Dim objRegExp, Match,strHTML if isnull(str) then str="" end if strHTML=str strHTML=replace(replace(replace(strHTML,vblf,""),vbcr,""),vbcrlf,"") Set objRegExp = New R

asp中判断服务器是否安装了某种组件的函数_应用技巧

判断服务器是否安装了某种asp组件,比较常用的代码如下: 复制代码 代码如下: <% '功能:检查是否存在系统组件或组件是否安装成功 '参数:组件名 Function IsObjInstalled(strClassString) On Error Resume Next IsObjInstalled = False Err = 0 Dim xTestObj Set xTestObj = Server.CreateObject(strClassString) If 0 = Err Then IsO

asp中判断服务器是否安装了某种组件的函数

判断服务器是否安装了某种asp组件,比较常用的代码如下: 复制代码 代码如下: <% '功能:检查是否存在系统组件或组件是否安装成功 '参数:组件名 Function IsObjInstalled(strClassString) On Error Resume Next IsObjInstalled = False Err = 0 Dim xTestObj Set xTestObj = Server.CreateObject(strClassString) If 0 = Err Then IsO

ASP中有关字符编码转换的几个有用函数

编码|函数|转换 <%1.'UTF转GB---将UTF8编码文字转换为GB编码文字function UTF2GB(UTFStr) for Dig=1 to len(UTFStr)   '如果UTF8编码文字以%开头则进行转换  if mid(UTFStr,Dig,1)="%" then      'UTF8编码文字大于8则转换为汉字    if len(UTFStr) >= Dig+8 then        GBStr=GBStr & ConvChinese(mi

asp中向文本框输出数据原样式的函数_应用技巧

从数据库输出信息时有转换函数,可以将回车空格按原样式输出.这段代码可向文本框原样输出代码. 复制代码 代码如下: Function cc_f_textarea_html_encode(cc_f_t_h_e_str)  If Not IsNull(cc_f_t_h_e_str) And cc_f_t_h_e_str <> "" Then  cc_f_t_h_e_str = Replace(cc_f_t_h_e_str, ">", ">

asp中向文本框输出数据原样式的函数

从数据库输出信息时有转换函数,可以将回车空格按原样式输出.这段代码可向文本框原样输出代码. 复制代码 代码如下: Function cc_f_textarea_html_encode(cc_f_t_h_e_str)  If Not IsNull(cc_f_t_h_e_str) And cc_f_t_h_e_str <> "" Then  cc_f_t_h_e_str = Replace(cc_f_t_h_e_str, ">", ">