当前位置: 代码迷 >> ASP.NET >> 正则表达式往html标签
  详细解决方案

正则表达式往html标签

热度:197   发布时间:2013-02-25 00:00:00.0
正则表达式去html标签
<div class="a"> 里面有标签可能也有div </div>

有没有什么办法 不管理面有什么标签 或者DIV 什么的。 我都只取从第一个div到对应的</div>结束里面的东西




------解决方案--------------------------------------------------------
你用正则的平衡组试试
------解决方案--------------------------------------------------------
XmlDocument xmlDoc=new XmlDocument();
xmlDoc.LoadXml(s);
取xmlDoc.DocumentElement.InnerXml就是了。

最好用HtmlAgilityPack中的HtmlDocument而不是XmlDocument。
------解决方案--------------------------------------------------------
C# code
string test = @"<div id=""0"" >                            0                        </div>                        <div id=""1"" class=""a"">                            1                            <div id=""2"">                                2                            </div>                        </div>";            //根据class=a来匹配            Regex reg = new Regex(@"(?isx)<div[^>]*class=(['""]?)a\1[^>]*?>(?><div[^>]*>  (?<Open>)|</div>  (?<-Open>)|(?:(?!</?div\b).)*)*(?(Open)(?!))</div>");            string match_str = reg.Match(test).Value;            /*              <div id=""1"" class=""a"">                            1                            <div id=""2"">                                2                            </div>                        </div>             */
------解决方案--------------------------------------------------------
坐等大婶,试问一下一定要用正则表达式吗?jquery不行吗?
------解决方案--------------------------------------------------------
C# code
    using System.Text.RegularExpressions;      //需要引用    public string HtmlFilter(string strHtml)   //从字符串里删除HTML    {        Regex regex = new Regex("<[^>]*>", RegexOptions.IgnoreCase);        string strOutput = regex.Replace(strHtml, "");        return strOutput;    }
  相关解决方案