Salva |
Le 01/08/2006 à 00:51  |
|
Bonjour à tous, J'ai une page contenant un champ texte ou je saisie donc du texte qui alimente une BD. J'ai une page contenant un tableau qui récupére le texte dans la BD. Mais j'ai des problèmes avec le retour à la ligne. Dans la page ou je saisie. Il n'y a pas de problème si je fait "Enter" le retour à la ligne s'effectue correctement sur l'affichage, et lorsque je reviens sur cette page de saisie les retour à la ligne sont toujours correcte. Par contre la page qui récupére le texte dans la BD et qui l'affiche ne tient pas compte des retour à la ligne et affiche tout un deriere l'autre, ce qui fait le retour à la ligne c'est lorsque la ligne de texte est plus grande que le cadre ou elle s'affiche (normal). Mais si dans le texte saisie, je met en fin de ligne la balise html <br> (qui correspond à un retour à la ligne) là dans la page qui affiche j'ai bien le retour à la ligne. C'est génant, car le champs texte de saisie est prévu pour permettre au Internaut de saisir du texte. Du coup je suis obligé de leur signaler qu'ils doivent impérativement mettre <br> en fin de ligne  c'est un peu pénible. N'y a t'il pas un script qui interprete automatiquement un retour chariot comme un <br> ? Merci pour votre aide. @+ |
Anthony |
Le 01/08/2006 à 13:05  |
Fou du volant |
Salut,
lorsque tu stockes ça dans ta base de données, utilise ceci avant :
$texte = str_replace("\n",'<br />',$texte);
//ensuite tu insères ici le texte dans ta base.
a + |
Salva |
Le 03/08/2006 à 23:09  |
|
EUh, en fait maintenant ca marche, fallait juste mettre la ligne que tu m'as donné au bon endroit et ca marche vachement mieux  Bonjour, Ben ca marche po  Ce qui est bizare, c'est que dans la page ou je saisie et dans la BD les retour chariot sont effectué. Mais dans la page ou je visulalise ca s'affiche pas comme il faut. Par exemple : Si je saisie cela dans la page de saisie 1 12 123 1234 12345 123456 1234567 12345678 123456789 Je retrouve dans ma BD la même chose : 1 12 123 1234 12345 123456 1234567 12345678 123456789 Par contre sur la page de visualisation l'affichage est comme ca : 1 12 123 1234 12345 123456 1234567 12345678 123456789 Je comprends pas pourquoi des retour chariot sont interprétés comme des "espace" et pourquoi je n'ai qu'un retour chariots Merci de votre aide. @+ |
Anthony |
Le 04/08/2006 à 13:03  |
Fou du volant |
Dans ta base de données tu dois avoir du code html avec des <br /> dedans, si t'as pas ça c'est que t'as mal utilisé ce que je t'ai mis plus haut :) |
Salva |
Le 04/08/2006 à 22:38  |
|
Salut,
Non, en fait si je saisie 1 2 3
dans la page de saisie,
je retrouve dans ma base exactement la même chose (sans code html <br>)
1 2 3
La ligne de code que tu m'as donné je l'ai mise dans la page de lecture et sa marche.
@+ |
Anthony |
Le 04/08/2006 à 23:58  |
Fou du volant |
Bah quel est le problème alors ? |
Salva |
Le 05/08/2006 à 00:50  |
|
Salut,
Ben, y a plus de problème. Sa marche maintenant. Merci de ton aide.
@+ |
Ionace |
Le 04/09/2006 à 14:59  |
|
juste au cas ou, php propose cette fonction qui realise la meme chose => $Texte = nl2br($Texte)... peut etre utile parfois ^^ |
Anthony |
Le 04/09/2006 à 16:30  |
Fou du volant |
En fait cette fonction ne réalise pas vraiment la même chose. nl2br() rajoute des <br /> devant chaque \n, contrairement à un str_replace() qui lui va réellement remplacer les \n par des <br />  |
Ionace |
Le 10/09/2006 à 18:32  |
|
Ah oki bah je viens d'apprendre un truc alors ^^ cool ... Par contre petite precision, par rapport a ton exemple anthony, je voulais preciser a tous ceux qui ont l'ahabitude de voir des ' a la place des " qu'ils ne doivent pas penser qu'il s'agit ici d'une erreur mais bien de l'ecriture adequat (je precise car j'ai eu la reflexion) sinon sa ne fonctionnera pas (str_replace cherchera a remplacer les caracteres '\' + 'n' au lieu d'un retour a la ligne normal...)
@++ tout le monde !! |