- Home
- Categorie
- Coding e Sistemistica
- PHP
- URL cliccabile inserito da textarea
-
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 * FROMelenco
WHEREcode
= '$_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
-
qualche idea?
-
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]
-
grazie mille matmattia, domani sera provo subito!!!
ti faccio sapere così se è ok servirà a tutti
grazie ancora
ciao
-
Grazie mille!!!
funziona alla GRANDE!!!
adesso ti faccio una statua!!!
GRAZIE ANCORA!!!
ciao ciao
-
Prego!