Skip to main content
 首页 » 编程设计

c#之用于清除 html 标记中的属性的正则表达式

2024年01月21日27java哥

我有一个非常简单的 reg ex 问题。我的 HTML 标记如下所示:

<body lang=EN-US link=blue vlink=purple> 

我想清除所有属性并只返回<body>

我想清除许多其他 HTML 标记的属性,因此我希望重用该解决方案。如何用正则表达式做到这一点? 谢谢, B.

请您参考如下方法:

使用HtmlAgilityPack像这样:

    public string RemoveAllAttributesFromEveryNode(string html) 
    { 
        var htmlDocument = new HtmlAgilityPack.HtmlDocument(); 
        htmlDocument.LoadHtml(html); 
        foreach (var eachNode in htmlDocument.DocumentNode.SelectNodes("//*")) 
            eachNode.Attributes.RemoveAll(); 
        html = htmlDocument.DocumentNode.OuterHtml; 
        return html; 
    } 

调用此方法传递要从中删除所有属性的 html。

将在这方面对您有很大帮助。

不要对可能包含脚本的 html 文件使用正则表达式,如在 Javascript 中,字符 <和 >不是标记定界符而是运算符。正则表达式可能会匹配这些运算符,就好像它们是标签一样,这会完全弄乱文档。