正则表达式,用于从标记中删除属性

时间:2010-06-22 19:38:51

标签: asp.net html regex

我感兴趣的是一个正则表达式,它接受HTML输入并删除标签内的所有属性,同时保持标签不变。例如,我想要这个......

<p class="test" id="TestParagraph">This is some test text right here.</p>

成为这个......

<p>This is some test text right here.</p>

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:5)

你真的不想为此使用正则表达式。 HTML不是regular language,您不能保证您的实际文本不会模仿标记并被剥离。无论你提出什么样的表达,总会有一些案例打破它。

我建议您使用Html Agility Pack进行任何需要执行的HTML操作。

答案 1 :(得分:2)

HTML不是regular language,因此在尝试使用正则表达式解析时会遇到问题。正如Greg上面提到的,您可能希望查看一个HTML解析器来为您完成这项工作。

享受!

答案 2 :(得分:1)

不是not answering the question的道歉。

你可以从这个

开始
<(\S+)[^>]+>

替换为

<$1>

当然,如果输入包含脚本或CDATA部分或各种情况,这将很容易中断。但它可能足够接近您的输入集。