2014-02-14 55 views
0

我有一個Perl RegExp問題。鑑於此HTML代碼:Perl RegExp刪除img標記如果內容樣式參數

<a href="#"><img src="..." alt="..." title="..."></a> 
<a href="#"><img src="..." alt="..." style="display: none;" title="..."></a> 
<a href="#"><img src="..." alt="..." title="..." style="display: none;"></a> 
<a href="#"><img src="..." style="display: none;" alt="..." title="..."></a> 
<a href="#"><img style="display: none;" src="..." alt="..." title="..."></a> 

如何刪除所有img標籤與父母a如果IMG包含此字符串?

style="display: none;" 

回答

1
$html =~ s|<a\s+href[^>]*>\s*<img[^>]*style="display: none;"[^>]*>\s*</a>||g 

這是檢查a標籤內的img標籤。還要檢查給定的style屬性是否存在於img之內。

1

這樣的事情...:

if ($html =~ /(<a href="#"><img style="display:\s*none;".*?<\/a>)/g) { 
    remove($1); 
}