删除除一个标记之外的所有html标记

时间:2013-03-21 20:37:19

标签: c# regex

我有一些代码可以删除所有html代码,但我想删除所有html,但</td></tr>代码除外。

如何做到这一点?

public string HtmlStrip( string input)
{
    input = Regex.Replace(input, "<input>(.|\n)*?</input>", "*");
    input = Regex.Replace(input, @"<xml>(.|\n)*?</xml>", "*"); // remove all <xml></xml> tags and anything inbetween.  
    return Regex.Replace(input, @"<(.|\n)*?>", "*"); // remove any tags but not there content "<p>bob<span> johnson</span></p>" becomes "bob johnson"
}

2 个答案:

答案 0 :(得分:6)

正则表达式不适合解析XML或HTML。看一下HTML Agility Pack

HTML Agility Pack

答案 1 :(得分:0)

删除所有标签html,但标签td和tr除外

input = Regex.Replace(input,@“ <(?! td | / td | tr | / tr)。*?>”,“”);