C# 如何在 HTML 中查找 1x1 图像标签

C# How to find a 1x1 image tag in HTML

我想知道如何在 HTML 的字符串中找到尺寸为 1x1 的图像标签,基本上我是在寻找跟踪像素。例如:

<img src=\"http://somewhere.com\" width=\"1\" height=\"1\" style=\"display:none!important;\">

我的最终目标是能够找到这部分代码并将其从字符串中删除。

我已经阅读了一些关于如何查找所有 img 标签的帖子,但这不是我要找的。我只想要 1x1 的 img 标签。

有人可以帮忙吗?

用正则表达式解析 HTML 并不是一个很好的做法,但我猜你可能会用 <img.*?> 得到所有 <img> 标签,然后做你的常规

if (str.IndexOf("width=\"1\"" > 0 && str.IndexOf("height=\"1\"") > 0)

但还有很多,我建议你看看HTML Agility Pack

如果您只想从您的字符串中删除这个 img 标签,您可以使用正则表达式:

 string result = Regex.Replace(html, "<img.+?(width|height)=[\"']1[\"'].+?(width|height)=[\"']1[\"'].*>", "", RegexOptions.IgnoreCase);