如何使用HtmlAgilityPack刪除不需要的html內容的pre和code標籤

c# html-agility-pack

我創建了這個基於代碼,但我如何刪除所有pre和代碼標籤。

private static string RemoveHtmlTags(this string markup)
{
    if (string.IsNullOrEmpty(markup))
    {
        return string.Empty;
    }

    var document = new HtmlDocument();

    document.LoadHtml(markup);

    return document.DocumentNode.InnerText;
}

一般承認的答案

HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(html);

doc.DocumentNode.Descendants()
                .Where(n => n.Name == "script" || n.Name == "style")
                .ToList()
                .ForEach(n => n.Remove());

熱門答案

您可以使用HtmlDocument類執行此操作:

HtmlDocument doc = new HtmlDocument();

doc.LoadHtml(input);

doc.DocumentNode.SelectNodes("//style|//script").ToList().ForEach(n => n.Remove());



許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因