Encore un problème de retour à la ligne

ricou13
Invité n'ayant pas de compte PHPfrance

20 juil. 2005, 17:00

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.

:(

Eléphant du PHP | 128 Messages

20 juil. 2005, 17:02

Ta essayer tout simplement sans la fonction nl2br ??
C'est pas moi qui ai volé l'orange !

Mammouth du PHP | 19672 Messages

20 juil. 2005, 17:05

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

Mammouth du PHP | 543 Messages

20 juil. 2005, 17:20

Non tu as bien dit il me semble Cyrano ;)

ViPHP
pjl
ViPHP | 2119 Messages

20 juil. 2005, 17:26

En plus, il faut échaper certains caractères en javacript. C'est peut être celà qui coince.

Invité
Invité n'ayant pas de compte PHPfrance

20 juil. 2005, 17:27

Merci,

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

Code : Tout sélectionner

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

Invité
Invité n'ayant pas de compte PHPfrance

20 juil. 2005, 17:28

Zut, je dois faire un nouveau post parce que je peux pas éditer.

Comment on marque "Résolu" ?

Mammouth du PHP | 19672 Messages

20 juil. 2005, 17:29

C'est fait, inscris-toi donc, ça coute pas un rond et ça te permettra de le faire toi-même à l'avenir.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 5 Messages

20 juil. 2005, 18:12

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 ?

ViPHP
pjl
ViPHP | 2119 Messages

20 juil. 2005, 18:19

1. oui, pourquoi ? :langue:

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

Mammouth du PHP | 19672 Messages

20 juil. 2005, 18:20

Pour l'avatar, c'est réservé aux ViPhP et aux modérateurs :mrgreen:

Ben quoi, c'est mignon un embryon :langue:
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: