剔除一个页面源码中的html标签   除了a、p、img标签

解决方案 »

  1.   

     string str = @"
    <a href='#'>CSDN社区</a>-
    <p>这是p</p>
    <font color='red'>bbbbbb</font>
    <a href=""http://forum.csdn.net/BList/DotNET/"" target=""_blank"">.NET技术</a>-<a href=""http://forum.csdn.net/SList/ASPDotNET//"" target=""_blank"">ASP.NET</a>
    <div class=""tit"">
    <h1><dfn><a href=""javascript:;"" onclick=""try{addToWZ();}catch(ex){}return false;"">收藏</a></dfn>
    <cite><select onchange=""changeViewMode(this);""><option value=""5"">不显示删除回复</option><option value=""0"">显示所有回复</option><option value=""1"">显示星级回复</option><option value=""3"">显示得分回复</option></select></cite>
    <span class=""prime"" csdnid=""prime""></span><span class=""lock"" csdnid=""lock""></span>
    <a name=""top""></a><span csdnid=""titleStyle"" style=""""><!-- google_ad_section_start -->求正则  剔除html标签<!-- google_ad_section_end --></span><em>[问题点数:<span csdnid=""point"">100</span>分<span csdnid=""check""></span>]</em></h1>
    </div>";            str = Regex.Replace(str, @"</?(?!(a|p|img))[^>]*?>", "", RegexOptions.IgnoreCase);
                Response.Write(Server.HtmlEncode(str));
      

  2.   

     只获取a p img 标签应该更好点
      

  3.   

    </?(?!(a|p|img))[^>]*?>
    把</a>也去掉了
      

  4.   

    </?(?!(a|p|img))(?!(/a|/p|/img))[^>]*?>  改成这样可以了  除a p img 标签外 其他的都剔除了