NAME
HTML::ResolveLink - Resolve relative links in (X)HTML into absolute URI
SYNOPSIS
use
HTML::ResolveLink;
my
$resolver
= HTML::ResolveLink->new(
callback
=>
sub
{
my
(
$uri
,
$old
) =
@_
;
# ...
},
);
$html
=
$resolver
->resolve(
$html
);
DESCRIPTION
HTML::ResolveLink is a module to rewrite relative links in XHTML or HTML into absolute URI.
For example. when you have
<a href=
"foo.html"
>foo</a>
<img src=
"/bar.gif"
/>
and use http://www.example.com/foo/bar
as base
URL, you'll get:
If the parser encounters <base>
tag in HTML, it'll honor that.
METHODS
- new
-
base
is a required parameter, which is used to resolve the relative URI found in the document.callback
is an optional parameter, which is a callback subroutine reference which would take new resolved URI and the original path as arguments.Here's an example code to illustrate how to use callback function.
my
$count
;
my
$resolver
= HTML::ResolveLink->new(
base
=>
$base
,
callback
=>
sub
{
my
(
$uri
,
$old
) =
@_
;
warn
"$old is resolved to $uri"
;
$count
++;
},
);
$html
=
$resolver
->resolve(
$html
);
if
(
$count
) {
warn
"HTML::ResolveLink resolved $count links"
;
}
- resolve
-
$html
=
$resolver
->resolve(
$html
);
Resolves relative URI found in
$html
into absolute and returns a string containing rewritten one. - resolved_count
-
$count
=
$resolver
->resolved_count;
Returns how many URIs are resolved during the previous resolve method call. This should be called after the resolve, otherwise returns undef.
AUTHOR
Tatsuhiko Miyagawa <miyagawa@bulknews.net>
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
SEE ALSO
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 193:
You forgot a '=back' before '=head1'