如果内容样式参数,Perl RegEx删除img标记

时间:2014-02-14 13:24:53

标签: html regex perl

我有一个Perl RegExp问题。鉴于此HTML代码:

<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包含此字符串,如何删除所有img代码及其父代a

style="display: none;"

2 个答案:

答案 0 :(得分:1)

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

这是检查img标记内的a标记。并检查给定的style属性是否位于img内。

答案 1 :(得分:1)

像这样......:

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