仅删除一个重复的html标记

时间:2016-12-19 12:50:31

标签: c# html

我已经搜索了很长时间,但我没有找到答案。我希望你能帮助我。所以我想删除一个重复的HTML标记,例如:

我有这样的文字:<BIG><BIG><BIG>Text</BIG></BIG></BIG>

如果我按下按钮,它应该是这样的:<BIG><BIG>Text</BIG></BIG>

我已经尝试RegEx但它会删除所有HTML标记。我也找到了HTML Agility Pack,但我不知道该怎么做。

我试过了RegEx

public static string RemoveHTML(string source)
{
return Regex.Replace(source, "<.*?>", string.Empty);
}

1 个答案:

答案 0 :(得分:1)

以下是HtmlAgility打包的方法。 Full example in dotNetFiddle

HtmlDocument doc = new HtmlDocument();
doc.LoadHtml("<BIG><BIG><BIG>Text</BIG></BIG></BIG>");

var result = doc.DocumentNode.Descendants("BIG").FirstOrDefault();

if(result != null)
{
    doc.DocumentNode.RemoveChild(result, true);
}

这应该足够了。您正在查找第一个元素大并将其从文档中删除而不删除其子项(这由RemoveChild中的true参数完成)