#--------# 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); } } } #--------#