• User

    URL cliccabile inserito da textarea

    Buongiorno a tutti!
    Vi chiedo aiuto perchè ho un problemino che penso di aver capito come risolvere ma mi manca la sintassi giusta per realisolverlo.

    Ho un sito che ha una mailing list quindi una pagina di digitazione del messaggio contenente un FORM e una semplice TEXTAREA e una pagina successiva (chimiamola invio.php) che svolge il tutto accedendo al database, selezionando gli utenti e inviando loro la mail con la funzione php mail()

    La mia esigenza è quella di voler fare in modo che se digito (o meglio utilizzo il vecchio ma sempre funzionante Ctrl+C - Ctrl+V) un indirizzo assoluto nella textarea, questo mi venga reso cliccabile nella mail del ricevente.

    Il pezzo di codice della pagina invio.php che riguarda l' invio della mail è il seguente:

    [php]
    $rs= mysql_query("SELECT * FROM elenco WHERE code = '$_POST[code]'");
    $row = mysql_fetch_assoc($rs);

    $mailTo = $row['email'];
    $nome = $row['nome'];
    $cognome = $row['cognome'];

    $oggetto = "Iscrizione corso tennis";

    // To send HTML mail, the Content-type header must be set
    $headers = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

    // Additional headers
    $headers .= 'To: '.$nome.' '.$cognome.' <'.$mailTo.'>' . "\r\n";
    $headers .= 'From: ... <........>' . "\r\n";

    $messaggio = "
    <html>
    <head>
    <title>Mail</title>
    </head>
    <body>
    ".$_POST['messaggio']."
    </body>
    </html>
    ";

    mail($mailTo, $oggetto, $messaggio, $headers);

    [/php]Il tutto funziona perfettamente ma vorrei che se in "$_POST['messaggio']" ci fosse un link nella mail che arriva fosse cliccabile..

    Come potrei fare? devo usare le espressioni regolari?
    (non ho idea di come scriverne la sintassi) HELP ME!!
    O c'è un modo differente?

    io pensavo di fare in modo di aggiungere in automatico davanti al link il tag html <a href> e quindi quando la stringa finisce di chiuderlo con </a> ...
    come si può fare?

    Grazie mille in anticipo a tutti


  • User

    qualche idea?


  • User Attivo

    Prova così:
    [php]$messaggio = "
    <html>
    <head>
    <title>Mail</title>
    </head>
    <body>
    ".eregi_replace("(https?|ftp)://([^<>[:space:]]+)","<a href="\1://\2">\1://\2</a>",$_POST['messaggio'])."
    </body>
    </html>";[/php]


  • User

    grazie mille matmattia, domani sera provo subito!!!
    ti faccio sapere così se è ok servirà a tutti
    grazie ancora
    ciao


  • User

    Grazie mille!!!
    funziona alla GRANDE!!!
    adesso ti faccio una statua!!!
    GRAZIE ANCORA!!!
    ciao ciao


  • User Attivo

    Prego!