过滤字符串

去掉标签:Server.HtmlEncode编码
           Server.HtmlDecode 解码(存入数据库)

 public static string StripHTML(string strHtml)
        {
            string[] aryReg ={

                                @"<script[^>]*?>.*?</script>",
                                @"<(/s*)?!?((w+:)?w+)(w+(s*=?s*(([""'])(\[""'tbnr]|[^7])*?7|w+)|.{0})|s)*?(/s*)?>",

                                @"([ ])[s]+",

                                @"&(quot|#34);",

                                @"&(amp|#38);",

                                @"&(lt|#60);",

                                @"&(gt|#62);",

                                @"&(nbsp|#160);",

                                @"&(iexcl|#161);",

                                @"&(cent|#162);",

                                @"&(pound|#163);",

                                @"&(copy|#169);",

                                @"&#(d+);",

                                @"-->",

                                @"<!--.* "

                               };



            string[] aryRep = {

                                "",

                                "",

                                "",

                                """,

                                "&",

                                "<",

                                ">",

                                " ",

                                "xa1",//chr(161),

                                "xa2",//chr(162),

                                "xa3",//chr(163),

                                "xa9",//chr(169),

                                "",

                                " ",

                                ""

                               };



            string newReg = aryReg[0];

            string strOutput = strHtml;

            for (int i = 0; i < aryReg.Length; i++)
            {

                System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(aryReg[i], System.Text.RegularExpressions.RegexOptions.IgnoreCase);

                strOutput = regex.Replace(strOutput, aryRep[i]);

            }

            strOutput.Replace("<", "");

            strOutput.Replace(">", "");

            strOutput.Replace(" ", "");

            return strOutput;

        }

原文地址:https://www.cnblogs.com/cyqdeshenluo/p/9253611.html