繁体   English   中英

删除除了<a>和</a> <a><img></a> <a>使用C#和正则表达式的标签</a>

[英]Removing anything but <a> and <img> tags using c# and regex

我正在处理大量的html代码,但是我只对<a><img>标记感兴趣。 您能否建议如何使用c#和regex从输入字符串中除去<a><img>标记之外的任何内容?

我确实尝试了HAP(HTML Agility Pack),但是解析某些内容会遇到StackOverflowException。

伙计们,我不是在寻求HTML Agility Pack的帮助。 我正在寻求Regex解决方案。

如果只需要<img>和<a>

用它们两个和交替运算符创建一个正则表达式。

(<img.+?>|<a.+?>.+?<\/a>)

在替换中,您可以使用\\ 1组

老实说,就像每个人在您的评论中说的那样,我不建议您使用正则表达式来解析HTML(这是一条规则),但是如果您确实需要它...(出于任何原因……)

我要说的是,您可以解析该字符串,并在HTML字符串上获取每个标记,并将其保存在列表中。

这些正则表达式非常简单(您可以通过学习一些正则表达式来真正地扩展它们。这并不难,并且我不会为您做所有工作,主要是在我不知道HTML看起来像什么的时候)

"<img.+?>"
"<a.+?>.+?</a>"

在此处使用一些html对其进行测试(删除“”进行测试): http : //regexpal.com/

对于C#代码本身,我很确定您可以很容易地找到它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM