+ Antworten
Ergebnis 1 bis 4 von 4

Thema: Problem mit preg_match und Mail durch Link ersetzen

  1. #1
    TP-Supporter Driver ist auf einem guten Weg
    Registriert seit
    Feb 2005
    Beiträge
    365

    Problem mit preg_match und Mail durch Link ersetzen

    Hallo,
    ich hab mir zwar den E-Mail verschlüsseln-Thread ein paar Zeilen weiter unten durchgelesen, aber so wirklich geholfen hat der mir nicht.
    Folgendes Problem:
    Ich hab einen Text mit X E-Mail Adressen die alle im Format name@adresse.org im Text enthalten sind. Jetzt würde ich gerne jede Adresse durch einen Link zu einem Formmailer erstezten, Beispiel:
    Aus
    Code:
    Dies ist meine E-Mail Adresse: test@adresse.org
    soll
    Code:
    Dies ist meine E-Mail Adresse: <a href="mail.php?name=test" target="_self">test@adresse.org</a>
    werden.
    Wie mach ich das jetzt mit PHP? Hier mal main Ansatz:
    PHP-Code:
    <?php
    $text 
    "test@adresse.org und viel text feedback@adresse.org";
    $mail preg_match("/[a-z]*[@]+adresse\.org/",$text,$mail2);
    ?>
    Allerdings gibt $mail2 in diesem Fall bei mir nur die erste Adresse aus, bzw, das Array enthält nur diese Adresse. Woran liegt das? Brauch ich eine while-Schleife?
    Und wenn das geht, dann ahb ich ja nur die Adressen aus dem Text gefiltert. Wie ersetzte ich die dann durch den Link? Vielleicht wieder mit einer while-Scleife und dann den Text ersetzen und vorher im die zu übergebende Variable zu ermitteln die einzelnen Array ELemente exploden?
    Gruß, Driver

  2. #2
    TP-Specialist theo bringt sich richtig ein Avatar von theo
    Registriert seit
    Apr 2002
    Ort
    743, evergreen terrace
    Beiträge
    2.346
    vielleicht hilft dir dieser ansatz weiter
    PHP-Code:
    $text "test@adresse.org und viel text feedback@adresse.org"
    echo 
    preg_replace("/([0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-.]?[0-9a-zA-Z])*\.[a-z]{2,3})/""<a href=\"mail.php?email=\\1\">\\1</a>"$text); 
    hardy
    /b{2}|[^(bb)]/

    [Workshop] Nested sets

  3. #3
    TP-Greis Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Avatar von Boris
    Registriert seit
    Mar 2001
    Ort
    Stuttgart & Kornwestheim
    Beiträge
    9.420
    Versuchs mal damit:

    Code:
    $post = preg_replace('/[\s]([-a-z0-9\._]+)@(([a-z0-9-]+\.)+[a-z]{2,4})\b/i','<a href="mailto:$1%40$2" title="Mail an $1@$2 senden">$1@$2</a> ',$post);
    My software never has bugs. It just develops random features ...

    » DevShack - die Website des freien Webentwicklers Boris

  4. #4
    TP-Supporter Driver ist auf einem guten Weg
    Registriert seit
    Feb 2005
    Beiträge
    365
    Danke, beides hat geklappt. Habs ein bisschen umgeschrieben und dann hats gepasst.

+ Antworten

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

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