Thread Hyperlinks in einem Text erkennen und "anklickbar machen" (35 answers)
Opened by bianca at 2010-05-18 18:41

bianca
 2010-05-18 20:05
#137267 #137267
User since
2009-09-13
6978 Artikel
BenutzerIn

user image
2010-05-18T17:53:56 pq
eine email fällt wohl einfach nicht unter die bezeichnung "URI". schonmal CPAN:Email::Find versucht? =)

Nö, Email::Find noch nicht probiert, setze ich später vielleicht noch drauf. Paßt bis hierher.
Ich danke Dir für die Hilfe.
Hab es jetzt mal fertig implementiert und sieht wie folgt aus.
Unten beim return hab ich - glaub ich - ein bisschen umständlich gemurkst mit dem zweifachen Regex und der Übergabe des Strings. Funktioniert zwar aber geht bestimmt eleganter, oder?

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/usr/bin/perl -W
use strict;
use warnings;
use diagnostics;

my $testtext = <<TEXTPLAIN;
Dies ist ein kleiner
Test zur Erkennung von Hyperlinks test.de oder www.test.de oder http://www.test.de
oder info\@test.example
TEXTPLAIN

my $link_auf = '<a href="*URL*" target="_blank">';
my $link_zu = '</a>';
identifylinks (\$testtext,$link_auf,$link_zu);

print "<pre>$testtext</pre>";

#--------#
sub identifylinks {
        my $text = $_[0];
        my $li = $_[1];
        my $re = $_[2];
        my $modul = 1;
        eval "use URI::Find; 1;" or $modul = 0;
        if ($modul) {
                my $finder = URI::Find -> new (
                        sub {
                                my ($uri,$orig_uri) = @_;
                                (my $links = $li) =~ s/\*URL\*/$uri/;
                                return qq|$links$orig_uri$re|;
                        }
                );
                $finder -> find ($text);
        }
}
#--------#


mod-edit pq: email laut unserer faq in beispiel-email umgewandelt
Last edited: 2010-05-19 01:09:44 +0200 (CEST)
10 print "Hallo"
20 goto 10

View full thread Hyperlinks in einem Text erkennen und "anklickbar machen"