Page 1 sur 1

Encore un problème de retour à la ligne

Posté : 20 juil. 2005, 17:00
par ricou13
Salut,

J'ai un champ de type "texte" dans ma base. Le texte peut donc contenir des retour à la ligne. Exemple
Fours FC18 sur FC2

Salon du NAFEM septembre 2003 (Nouvelle Orléans)
jusqu'à présent, je me contentais d'utilise la fonction "nl2br" pour l'affichage et touti l'était nickel.

Seulement maintenant, j'ai besoin de fournir ce texte à une fonction Javascript. J'espérais, en écrivant

Code : Tout sélectionner

MaFonction("<?php echo nl2br($texte); ?>");
obtenir
MaFonction("Fours FC18 sur FC2<br /><br />Salon du NAFEM septembre 2003 (Nouvelle Orléans)");
Ce qui aurait été parfait.
Malheureusement, j'obtiens
MaFonction("Fours FC18 sur FC2<br />
<br />
Salon du NAFEM septembre 2003 (Nouvelle Orléans)");
ce qui génère une erreur Javascript.

J'ai essayé en utilisant

Code : Tout sélectionner

str_replace("\n","<br/>",$texte);
mais j'obtiens
MaFonction("Fours FC18 sur FC2
<br/>
<br/>Salon du NAFEM septembre 2003 (Nouvelle Orléans)");
Vous remarquerez le déplacement des <br />... qui ne change absolument rien.

:(

Posté : 20 juil. 2005, 17:02
par Guakamol
Ta essayer tout simplement sans la fonction nl2br ??

Posté : 20 juil. 2005, 17:05
par Cyrano
Parce qu'en réalité, nl2br() ajoute les "<br />" pour l'affichage et mantient les "\n" pour le code source.

Pour JavaScript, il me semble que "\n" effectue automatiquement un retour de ligne à l'affichage, il faudrait donc envoyer la chaîne vers le JavaScript avec une fonction maison du genre nl2nl() qui rajouterait textuellement \n là où il y a un retour de ligne sous forme binaire.

Mais je peux me tromper, je ne suis pas un grand spécialiste du JavaScript.

Posté : 20 juil. 2005, 17:20
par raptor
Non tu as bien dit il me semble Cyrano ;)

Posté : 20 juil. 2005, 17:26
par pjl
En plus, il faut échaper certains caractères en javacript. C'est peut être celà qui coince.

Posté : 20 juil. 2005, 17:27
par Invité
Merci,

Autant pour moi, c'était (évidemment sinon on serait tous des pros) simplissime :

Code : Tout sélectionner

str_replace("\r\n","<br/>",$texte);

Posté : 20 juil. 2005, 17:28
par Invité
Zut, je dois faire un nouveau post parce que je peux pas éditer.

Comment on marque "Résolu" ?

Posté : 20 juil. 2005, 17:29
par Cyrano
C'est fait, inscris-toi donc, ça coute pas un rond et ça te permettra de le faire toi-même à l'avenir.

Posté : 20 juil. 2005, 18:12
par ricou13
C'est fait :D

EDIT: Comment ça "Embryon" ! Franchement, est-ce que j'ai une tête d'embryon ? :mrgreen:

EDIT 2 : Je pourrais le mettre quand mon avatar ?

Posté : 20 juil. 2005, 18:19
par pjl
1. oui, pourquoi ? :langue:

2. il faut être très très sage.
Moi, par exemple, je ne le suis pas assez. :-"

Posté : 20 juil. 2005, 18:20
par Cyrano
Pour l'avatar, c'est réservé aux ViPhP et aux modérateurs :mrgreen:

Ben quoi, c'est mignon un embryon :langue: