正则表达式以清除html标记中的属性

bea*_*man 1 c# regex

我有一个非常简单的注册问题.我的HTML标记如下所示:

<body lang=EN-US link=blue vlink=purple>
Run Code Online (Sandbox Code Playgroud)

我想清除所有属性,然后返回 <body>

还有许多其他HTML标签,我想清除它们的属性,所以我希望重用该解决方案.如何使用正则表达式执行此操作?谢谢,B.

Mig*_*elo 6

像这样使用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;
    }
Run Code Online (Sandbox Code Playgroud)

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

将为您提供很多帮助.

不要将正则表达式用于可能包含脚本的html文件,如Javascript中的字符<,>而不是标记分隔符,而是运算符.Regexp可能会匹配这些运算符,就像它们是标记一样,这将完全弄乱文档.