过滤字符串html标签方法

过滤字符串html标签方法,如果输入的过滤标签为“*”,那么给字符串加上p标签

 

 public static string noTagHtml(string str, string tagname)
        {
            string zz = @"(<" + tagname + ".*?>)|(</" + tagname + ">)";
            if (tagname == "script") zz = "(<" + tagname + ".*?>)*(</" + tagname + ">)";
            //过滤除P标签的所有标签,不清除P标签里css样式
            else if (tagname == "p")
            {
                //zz = @"</?\s*(?!p|br)+\b[^>]*>";
                zz = @"</?\s*(?!br)+\b[^>]*>";
                Regex r = new Regex(zz, RegexOptions.IgnoreCase | RegexOptions.Singleline);
                str = Regex.Replace(str, zz, "", RegexOptions.IgnoreCase);
                str = r.Replace(str, "");
            }

            else if (tagname == "*")
            {
                zz = @"(<([^>]*)>)";
                Regex r = new Regex(zz, RegexOptions.IgnoreCase | RegexOptions.Singleline);
                str = Regex.Replace(str, zz, "", RegexOptions.IgnoreCase);
                str = r.Replace(str, "");
                Regex regex1 = new Regex(@"\n", RegexOptions.IgnoreCase);
                str = regex1.Replace(str, "");
                Regex regex2 = new Regex(@"\n[\s| ]*\r", RegexOptions.IgnoreCase);
                str = regex2.Replace(str, "");
                string[] hangCounts = str.Split('\r');

                string strTempList = "";
                for (int k = 0; k < hangCounts.Length; k++)
                {
                    if (!strTempList.Equals(""))
                    {
                        strTempList = strTempList + "";
                    }
                    if (!hangCounts[k].Equals(""))
                    {
                        strTempList = strTempList + "<p>" + hangCounts[k] + "</p>\r\n";
                    }
                }
                strTempList = strTempList + "";
                str = strTempList;
            }
            else
            {
               
                Regex r = new Regex(zz, RegexOptions.IgnoreCase | RegexOptions.Singleline);
                str = Regex.Replace(str, zz, "", RegexOptions.IgnoreCase);
                str = r.Replace(str, "");

            }
            return (str);

        }

 

posted @ 2014-03-10 10:06  程序员徐坤  阅读(2311)  评论(0编辑  收藏  举报