Page 1 sur 1

mail texarea saut de ligne en html

Posté : 15 août 2007, 15:40
par Davee
Bonjour,

Petit soucis avec envoies de mail en html

Voici le code dumail
// ________________________________________
//---------- ENVOI DE MAIL ---------------
     $to .= $mail_destination;
     // Sujet
     $subject = "SUBJECT";
     // message
     $message = "
<html>
<head>
<title>Inscription</title>
</head>
<body>
<div id='head'><b class='b'>Envoi CONTACT</b></div>
<div id='corps' >
<p class='a'>
	   NAME:<br>
	   MAIL:<br>
	   ADRESS:<br>
	   PHONE:<br>
	   COMMENTS:	<br></p>
<p class='b'>
       ".$_POST['name']."<br>
	   ".$_POST['mail']."<br>
	   ".$_POST['adress']."<br>
	   ".$_POST['phone']."<br>
	   ".$contact['comments']."<br></p>
</div>
        <div id='footer'><b class='b'> Merci de vous être inscrit sur <b class='a'>l'adresse du site</b></b></div>
</body></html>";

     $headers  = 'MIME-Version: 1.0' . "\r\n";
     $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
     $headers .= 'To: '.mail_destination. "\r\n";
     $headers .= 'From:'.$_POST['mail']."\r\n";
     // Envoi
     mail($to, $subject, $message, $headers);
Rien d'épatant vous allez me dire et je vous l'accorde :)

la variable $contact['comment'] vient d'un texarea. Quand le mail est envoyé les retourde chariot qui sont pourtant présent dans la variable sont effacé lors de l'envoi du mail.
Ce qui veut dire qu'à l'arrivé, quand on voit le mail les retour de chariot ont disparu.

J'ai essayé de créer des saut de ligne <br> avec la fonction
$contact['comments']=preg_replace('#\r | \n#','<br>',$contact['comments']);
et aussi
$contact['comments']=str_replace('\r | \n','<br>',$contact['comments']);
mais c'est prout prout le code reste le même à l'arrivé.
Cependant en essayant avec
$contact['comments']=str_replace(',','<br>',$contact['comments']);
il remplace bien les virgules par un retour de chariot.

comment symboliser le retour de chariot pour que le chose fasse le truc?

Merci d'avance.

David. :)

EDIT MESSAGE
hehe heu.... rebonjour :? :gla: ....hmmm!

Bon ben comme qui dirait! (qui dirait quoi, .... ben rien) !

Je crois avoir trouvé un truc.
	$contact['comments']=preg_replace('#[\r]#','<br>',$contact['comments']);
j'ai essayé ppis ça marche alors voilà... voilà,voilà.
de toute façon c'est toujours quand je viens de poster sur phpfrance que je trouve une solution juste après .... Toujours.... Toujours....Toujours....Toujours.... !!
C'est dingue non ??????

Alors heuu SALUT. :)

Posté : 15 août 2007, 16:20
par Truc
et nl2br()

Posté : 15 août 2007, 16:36
par Davee
oui bon oui

Tous les chemins mènent à Rome,.... mais y en a des plus longs que d'autres . :)

J'ai supprimé
$contact['comments']=preg_replace('#[\r]#','<br>',$contact['comments']);
et j'ai ajouté nl2br comme suis
nl2br($contact['comments'])
Many thanks Truc

David.

PS: on peut pas tout savoir :D