#--------#
sub identifylinks {
#
# Erkennt und markiert Hyperlinks in einem Text
#
# Aufruf:
# =======
# my $testtext = 'test: http://www.test.de';
# identifylinks (\$testtext,'%s','%s');
# print $testtext;
#
my $text = $_[0];
my $link = $_[1];
my $email_link = (defined $_[2] ? $_[2] : '');
my %found;
my $modul = 1;
eval "use URI::Find; 1;" or $modul = 0;
if ($modul) {
my $finder = URI::Find -> new ( sub
{
$found{$_[0]}++;
$found{$_[1]}++;
return sprintf ($link,@_);
}
);
$finder -> find ($text);
}
if ($email_link ne '') { # E-Mail auch erwünscht?
eval "use Email::Find; 1;" or $modul = 0;
if ($modul) {
my $finder = Email::Find -> new (sub
{
return $_[1] if($found{$_[0]->format});
return $_[1] if($found{'http:'.$_[0]->format});
return $_[1] if($found{$_[1]});
return $_[1] if($found{'http:'.$_[1]});
return sprintf ($email_link,$_[0]->format,$_[1]);
}
);
$finder -> find ($text);
}
}
}
#--------#