C# Как найти тег изображения 1x1 в HTML
Я хотел бы знать, как найти тег изображения в строке HTML, которая имеет размеры 1x1, в основном я ищу для отслеживания пикселей. Так, например:
<img src=\"http://somewhere.com\" width=\"1\" height=\"1\" style=\"display:none!important;\">
Моя конечная цель - найти эту часть кода и удалить ее из строки.
Я уже прочитал несколько постов о том, как найти все теги img, но это не то, что я ищу. Мне нужны только теги img размером 1x1.
Может кто-нибудь помочь с этим?
2 ответа
Решение
Если вы просто хотите удалить это img
теги из вашей строки, вы можете сделать это с помощью регулярного выражения:
string result = Regex.Replace(html, "<img.+?(width|height)=[\"']1[\"'].+?(width|height)=[\"']1[\"'].*>", "", RegexOptions.IgnoreCase);
Не очень хорошая практика парсинга HTML с помощью регулярных выражений, но я думаю, что вы получите все <img>
теги с <img.*?>
а потом делай свое обычное
if (str.IndexOf("width=\"1\"" > 0 && str.IndexOf("height=\"1\"") > 0)
но это еще не все, и я предлагаю вам взглянуть на HTML Agility Pack