=head2 C<< rewrite_html >>
Rewrites all HTML links to be relative to the given URL. This
only rewrites things that look like C<< src= >> and C<< href= >> attributes.
Unquoted attributes will not be rewritten. This should be fixed.
=cut
sub rewrite_html {
my($url, $html)= @_;
$url = URI::URL->new( $url );
#croak "Can only rewrite relative to an absolute URL!"
# unless $url->is_absolute;
# Rewrite relative to absolute
rewrite_html_inplace( $url, $html );
$html
}
sub rewrite_html_inplace {
my $url = shift;
$url = URI::URL->new( $url );
#croak "Can only rewrite relative to an absolute URL!"
# unless $url->is_absolute;
# Rewrite relative to absolute
$_[0] =~ s!((?:src|href)\s*=\s*(["']))(.+?)\2!$1 . relative_url(URI::URL->new( $url ),"$3") . $2!ge;
}