Version complète: sur le forum Webmaster Hub : Mise en forme de texte récupéré de ma base
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
Lea
Bonjour,

J'ai un problème avec la mise en forme de mon texte récupéré de ma base(lui même issu d'un formulaire en ligne).

Si le texte a été saisi sans retour à la ligne, il apparait tout à la ligne dans ma page et déforme mes cellules de tableau.

Je souhaitais le mettre en forme avec la fonction wordwrap mais ça ne marche pas.

Quelqu'un connait-il un autre moyen permettant d'avoir un texte qui ne déforme pas les cellules de mon tableau et vient à la ligne automatiquement.

Merci
Léa
furious Gontran
Je ne pense pas avoir la reponse complete a ta question, mais la fonction php:
nl2br() te permet de convertir les retours a la lignes du texte dans ta base, en retour a la lifgne html.
Je m'en sers pour mes tableau dynamiques ca marche plutot bien...
Anonymus
Tu devrais essayer l'attribut nowrap dans tes tableaux.
Titag
Et pourquoi ne pas fixer une largeur de cellule ?

Quant à nowrap c'est pas l'inverse ? Il interdit le retour à la ligne je crois...

Sinon tu peux toujours faire une fonction qui insere des retours à la ligne après un certain nombre de mots smile.gif
Lea
Titag, je sais, j'abuse mais je ne maîtrise pas encore très bien le Php. Pourrais tu me donner un exemple de fonction permettant d'insérer un saut de ligne tous les x caractères.
Merci
Léa
Anonymus
Bonjour,

pour wordwrap, ca marche :
CODE
$txt ="Portez ce vieux whisky au juge blond qui fume";

$t = wordwrap($txt,10,"<br>\n",1);


echo"<table border=1><tr><td>$t</td></tr></table>";

echo $t;



ps : pour nowrap, effectivement, j'ai mal lu l'énoncé sad.gif
Lea
Chez moi, le wordwrap ne marche pas, j'ai repris tel quel ton exemple Anonymous et ça ne fonctionne pas, la phrase apparait toute à la suite.
Je ne sais pas d'où ça vient....
Titag
Oui commence par tester wordwrap c'est pas mal...

plus d'exemple en cliquant ici
Titag
Montre nous un peu de code stp smile.gif
Lea
Ca y est le wordwrap marche, c'était une erreur de ma part. Mais j'ai encore un problème, mon texte n'est plus jsutifié et certaines lignes sont plus longues que d'autres.
Je viens de voir qu'il est possible de mettre un attribut wrap pour mon text area et normalement, si on le met à physical celà insère des saut de ligne en bout de largeur du champs de saisi. Mais là encore ça ne marche pas..... angry.gif
Titag
Continue à faire des essais... tu es sur la bonne voie ! smile.gif

Et si ca ne marche pas, montre nous un bout de code : le textarea d'une part et le bout de script pour l'affichage d'autre part...
Anonymus
Attention, il n'y a pas, avec le html, de 'justification' de texte, comme il pourrait y en avoir avec un logiciel comme word, par exemple. C'est à dire que, de toute facon, tes lignes ne seront jamais 'exactememt' de même longueur. Ca, c'est internet. Sinon, il y a effectivement possibilité de mettre 'au mieux' ce texte.
Titag
CITATION(Anonymus @ jeudi 16 septembre 2004, 13:03)
Attention, il n'y a pas, avec le html, de 'justification' de texte

Dans un textarea oui, mais pour l'affichage c'est possible non ? <div align=justify>

Je dit ca mais je ne suis pas un pro (loin de là) du html...
ProuteurFou
CITATION(Titag @ jeudi 16 septembre 2004, 13:06)
Dans un textarea oui, mais pour l'affichage c'est possible non ? <div align=justify>

Je dit ca mais je ne suis pas un pro (loin de là) du html...

Il est possible de justifier du texte avec un attribut de style
CODE
<p style="text-align:justify">mon texte mon texte mon texte mon texte mon texte mon texte mon texte mon texte mon texte mon texte mon texte mon texte mon texte mon texte mon texte mon texte mon texte mon texte mon texte mon texte mon texte mon texte mon texte mon texte mon texte </p>
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.