rendered paste bodysub _extract_images {
my $self = shift;
$self->{images} = [];
if ( defined $self->{content} ) {
my $parser = HTML::TokeParser->new(\$self->{content});
while ( my $token = $parser->get_tag( keys %image_tags ) ) {
my $image = $self->_image_from_token( $token, $parser );
push( @{$self->{images}}, $image ) if $image;
} # while
}
return;
}
sub _image_from_token {
my $self = shift;
my $token = shift;
my $parser = shift;
my $tag = $token->[0];
my $attrs = $token->[1];
if ( $tag eq 'input' ) {
my $type = $attrs->{type} or return;
return unless $type eq 'image';
}
require WWW::Mechanize::Image;
return
WWW::Mechanize::Image->new({
tag => $tag,
base => $self->base,
url => $attrs->{src},
name => $attrs->{name},
height => $attrs->{height},
width => $attrs->{width},
alt => $attrs->{alt},
id => $attrs->{id},
});
}