Php : Retour à la ligne dans un textarea,

Bonjour,

J’ai un formulaire avec un champ textarea récupéré dans la variable contenu comme suit :

$contenu = nl2br(htmlentities($_POST[‘contenu’],ENT_COMPAT));

Le problème c’est que si dans le textarea j’écris par exemple :

Ceci est
un exemple de texte

dans le texarea

la variable $contenu contiendra :

Ceci est
un exemple de texte

dans le texarea

Autrement dit, ni “\n” ni “\r” ni “
” à l’horizon. Qu’elqu’un aurait-il la solution pour transformer la variable proprement en :

Ceci est
un exemple de texte

dans le texarea

Merci d’avance :slight_smile:

Utilise la fonction nl2br je pense que ca devrait correspondre à ce que tu veux.

Sinon au pire, tu post-traite ta variable en remplaçant à la mimine !

Justement elle est utilisée, ^^ :

$contenu = nl2br(htmlentities($_POST[‘contenu’],ENT_COMPAT));

Le souci c’est que nl2br remplace \n par <br > mais que dans mes chaînes, pour une raison qui m’est inconnue, les retours à la ligne ne sont pas notés \n.

Pour ce qui est de post traiter la variable à la main je le fais mais c’est aussi contraignant que d’écrire
à chaque fois qu’on appuierait sur la touche entrée donc l’interface graphique perd un peu de son intérêt :slight_smile: Ceci dit c’est sur que ça marche

Surment psk sous windows les retours à la ligne c’est un truc du genre \b\r, enfin je sais plus exactement. Faut vérifié :slight_smile:

Les retours à la ligne sous windows c’est \r\n, mais je ne pense pas que le problème vienne de là.

Tu as essayé ton code sans le htmlentities ? Peut être que c’est lui qui filtre quelque chose ? Au pire, remplace le nl2br par un str_replace(’\n’,’
’,$_POST[‘contenu’])

Mais il y a un truc qui me dérange. Tu dis qu’après ton code, ta variable $contenu contient :

Ceci est
un exemple de texte

dans le texarea

Puis tu dis qu’elle ne contient pas de \n. Hors si tu as des retours à la ligne, c’est qu’il y a forcément des \n :confused:
Edité le 30/11/2007 à 23:35

Ca marche avec le str_replace, et oui, c’est qu’il y a des \n. Merci! Par contre sans le htmlentities ca ne changeait rien, je ne comprends pas pourquoi le nl2br ne passait pas mais après tout du moment que j’ai une solution…