收藏 去掉 html 标签的perl 小函数

while(<DATA>){
	$str .=$_;
}

print &delHtml($str);

<>;

sub delhtml
{
        my($str) = @_;
        my($s_pos) = 0;
        my($e_pos) = 0;

loop:
        if(index($str,'<') != -1)
        {
                $s_pos = index($str,'<');
                $e_pos = index($str,'>',$s_pos);
                if($s_pos > 0)
                {
                        $str = substr($str,0,$s_pos).substr($str,$e_pos+1);
                }
                elsif(s_pos == 0)
                {
                        $str = substr($str,$e_pos + 1);
                }
                goto loop;
        }
        else
        {
                return $str;
        }
}

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/<[^>]+?>//gs; 
return $str; 
} 

__DATA__
...
 
原文地址:https://www.cnblogs.com/mathzzz/p/2683630.html