File Coverage

blib/lib/DTL/Fast/Filter/Removetags.pm
Criterion Covered Total %
statement 21 21 100.0
branch 1 2 50.0
condition n/a
subroutine 6 6 100.0
pod 0 2 0.0
total 28 31 90.3


line stmt bran cond sub pod time code
1             package DTL::Fast::Filter::Removetags;
2 2     2   755 use strict; use utf8; use warnings FATAL => 'all';
  2     2   2  
  2     2   43  
  2         5  
  2         2  
  2         11  
  2         35  
  2         2  
  2         57  
3 2     2   6 use parent 'DTL::Fast::Filter';
  2         2  
  2         8  
4              
5             $DTL::Fast::FILTER_HANDLERS{'removetags'} = __PACKAGE__;
6              
7             #@Override
8             sub parse_parameters
9             {
10 3     3 0 2 my $self = shift;
11             die $self->get_parse_error("no tags to remove specified")
12 3 50       3 if not scalar @{$self->{'parameter'}};
  3         9  
13 3         3 $self->{'tags'} = $self->{'parameter'}->[0];
14 3         6 return $self;
15             }
16              
17             #@Override
18             sub filter
19             {
20 3     3 0 4 my( $self, $filter_manager, $value, $context ) = @_;
21            
22 3         7 my $tags_re = join '|', (split /\s+/, $self->{'tags'}->render($context));
23            
24 3         68 $value =~ s/<\/?($tags_re)[^>]*?>//gsi;
25            
26 3         8 return $value;
27             }
28              
29             1;