最近在公司里要对一些固定模式的网页进行处理,我要从定位好的位置开始,去掉html代码从而提取出文字内容。于是写了一个Perl函数来干这个活,中心思想是用正则表达式替换掉html里面的tag。

sub delHtml{
my $str = shift;
$str =~ s/<(style|script|iframe|object|embed)(?=\s|>).+?</\1>//igs;
$str =~ s/on(click|mouseover|mousedown|load)=”.+?”//igs;
$str =~ s/on(click|mouseover|mousedown|load)=.+?\s+?//igs;
$str =~ s/ //igs;
$str =~ s/<[^>]+?>//gs;
return $str;
}