我有一个非常简单的注册问题.我的HTML标记如下所示:
<body lang=EN-US link=blue vlink=purple>
Run Code Online (Sandbox Code Playgroud)
我想清除所有属性,然后返回 <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;
}
Run Code Online (Sandbox Code Playgroud)
调用此方法传递要从中删除所有属性的html.
xpath将为您提供很多帮助.
不要将正则表达式用于可能包含脚本的html文件,如Javascript中的字符<,>而不是标记分隔符,而是运算符.Regexp可能会匹配这些运算符,就像它们是标记一样,这将完全弄乱文档.
| 归档时间: |
|
| 查看次数: |
4910 次 |
| 最近记录: |