使用正则表达式从html标记中剥离所有属性

时间:2010-02-09 14:24:30

标签: c# html regex

我一直在尝试制定一个正则表达式来删除html标签中可能存在的任何属性,但我在执行此操作时遇到了麻烦,Google似乎也没有提供任何答案。

基本上我的输入字符串看起来像

<p style="font-family:Arial;" class="x" onclick="doWhatever();">this text</p>
<img style="border:0px" src="pic.gif" />

我希望删除标记内的所有属性以生成如下字符串:

<p>this text</p>
<img src="pic.gif" />

有人知道这样做的正则表达式吗?顺便说一句,我在C#中使用Regex.Replace。

3 个答案:

答案 0 :(得分:2)

在.NET中处理这类任务的确有很好的工具,而不必使用正则表达式锤子。这也比基于正则表达式的解决方案更可靠。

我建议你看一下HTML Agility Pack

答案 1 :(得分:1)

使用DOM最简单的HTML接口,但是如果你真的想使用正则表达式做到这一点,你可以利用你想要删除所有属性,例如:除了标签之外别留下任何东西。 IMO你应该使用DOM解析器。

答案 2 :(得分:-1)

或者使用jquery来遍历所有html元素并删除attr。或来自特定元素。你为什么要这样做呢?