variable recuperé d'un textarea: remplacement retour chariot

Mammouth du PHP | 843 Messages

23 sept. 2006, 05:26

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?
:: contactez moi par MP ::
:non: NON au language SMS sur les forums :non:

Mammouth du PHP | 19672 Messages

23 sept. 2006, 08:07

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()
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 843 Messages

23 sept. 2006, 09:55

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:
:: contactez moi par MP ::
:non: NON au language SMS sur les forums :non: