Thread Email::Find und E-Mails in Links? (14 answers)
Opened by bianca at 2010-06-01 16:22

bianca
 2010-06-01 16:22
#137847 #137847
User since
2009-09-13
6977 Artikel
BenutzerIn

user image
Hat jemand eine Idee, wie ich Email::Find "überrede", E-Mails innerhalb von URL Links nicht zu finden?

Mein Problem ist oben im Text der Link
Code: (dl )
http://www.example.org/login_index.php?email=info\@test.example

//Modedit GwenDragon: Mail in Code-Tags, Domain geändert.

Da baut die folgende sub Mist indem die E-Mail innerhalb des Links nochmal übersetzt wird.
Wie kann ich das verhindern?
Danke für alle Tipps

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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/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 https://www.testhttps.de
oder (http://test.de/slash/pfad)
oder info\@test.example
Und hier ein Gemeinschaftstest: http://www.test.de/login_index.php?email=info\@test.example
mal schauen...
TEXTPLAIN

identifylinks (\$testtext,'<a href="%s" target="_blank">%s</a>','<a href="mailto:%s">%s</a>');
print "<pre>$testtext</pre>";

#--------#
sub identifylinks {
        #
        # Erkennt und markiert Hyperlinks in einem Text
        #
        # Aufruf:
        # =======
        # my $testtext = 'test: http://www.test.de';
        # identifylinks (\$testtext,'<a href="%s" target="_blank">%s</a>','<a href="mailto:%s">%s</a>');
        # print $testtext;
        #
        my $text = $_[0];
        my $link = $_[1];
        my $email_link = (defined $_[2] ? $_[2] : '');
        my $modul = 1;
        eval "use URI::Find; 1;" or $modul = 0;
        if ($modul) {
                my $finder = URI::Find -> new (
                        sub { 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 sprintf ($email_link,$_[0] -> format,$_[1]); }
                        );
                        $finder -> find ($text);
                }
        }
}
#--------#

Last edited: 2010-06-02 10:34:23 +0200 (CEST)
10 print "Hallo"
20 goto 10

View full thread Email::Find und E-Mails in Links?