Page 1 sur 1

variable recuperé d'un textarea: remplacement retour chariot

Posté : 23 sept. 2006, 05:26
par BeRoots
salut la compagnie :)

dans un formulaire, j'ai un textarea qui gere la cesure automatiquement (passage à la ligne auto).
Je le recupere par POST et j'aimerai mettre en forme son contenu recuperé afin de remplacer les espaces et retour chariot par du xhtml (&nbsp; et <br />).

je procède donc ainsi:
<?php
// recup du contenu de textarea
$message = isset($_POST['message'])  ? trim($_POST['message'])  : "";

// mise en forme du message pour xhtml
$tableau = array("\r\n" => "<br />, "\n" => "<br />", " " => "&nbsp;");
$message_xhtml = strtr ($message, $tableau); // on remplace les espace et saut de ligne
?>
<p><?php echo $message_xhtml ?></p>
mon problème est que pour les passage à la ligne qui ce font automatiquement lors de la saisie dans le textarea, ces dernier ne sont pas remplacer par <br /> :-k

pourtant les passage à la ligne fait via la touche entrée sont bien remplacer :wink:

les espaces en debut de ligne dans le textarea ne sont pas remplacer non plus ](*,)

pouvez vous m'aider [-o<

ps. y a t'il un moyen pour aficher les \r\n, \n, ... issue du textarea à l'écran?

Posté : 23 sept. 2006, 08:07
par Cyrano
Il y a une erreur dans ton tableau, correction :
<?php
// recup du contenu de textarea
$message = isset($_POST['message'])  ? trim($_POST['message'])  : "";

// mise en forme du message pour xhtml
$tableau = array("\r\n" => "<br />", "\n" => "<br />", " " => "&nbsp;");
$message_xhtml = strtr ($message, $tableau); // on remplace les espace et saut de ligne
?>
<p><?php echo $message_xhtml ?></p>
Et sinon, explore donc nl2br()

Posté : 23 sept. 2006, 09:55
par BeRoots
oooops, je ne me souvenais plus de cette fameuse fonction nl2br() :oops:

pourtant, j'avais deja poster pour un problème similaire et malgré une recherche dans les forum, je suis passer à coté :?

enfin bon, tout fonctionne maintenant :D
merci pour ton aide Cyrano :wink: