2017-06-09 39 views
0

我想知道如何在一個尺寸爲1x1的HTML字符串中找到圖像標籤,基本上我正在尋找跟蹤像素。例如:C#如何在HTML中找到1x1圖像標籤

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

我的最終目標是能夠找到代碼的這部分並將其從字符串中移除。

我已經閱讀了少數幾篇文章,關於如何找到所有img標籤,但這不是我正在尋找的。我只想要1x1的img標籤。

任何人都可以幫忙嗎?

+2

請注意,寬度和高度也可以從CSS –

+0

設置感謝彼得!我會在下一次迭代中記住這一點。 – cbutler

回答

2

如果你只是想從你的字符串中刪除此img標籤,你可以做到這一點與正則表達式:

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

這是不正確的,因爲它將匹配寬度='1'或寬度=「1」,但不是寬度= \「1 \」。並且它會匹配像width =「1」這樣的東西。'[\''] 1 [\'']'應該改成'(\\「1 \\」|'1')' –

+0

這很適合我的直接需求!我仍會研究HTML敏捷包 – cbutler

3

不是真正的解析與正則表達式HTML的一個很好的做法,但我猜你colud得到所有<img>標籤與<img.*?>,然後做你經常

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

,但還有更多的微博,我建議你看看HTML Agility Pack

+0

謝謝德米特里!敏捷包看起來不錯,我會研究它:D – cbutler

相關問題