• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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
    上一篇:asp中创建多级目录的两段代码
    下一篇:chr(9)、chr(10)、chr(13)、chr(32)、chr(34)讲解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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