tabulations structure lors de l'affichage de la source

Roum
Invité n'ayant pas de compte PHPfrance

05 oct. 2009, 12:43

Re bonjour,
Donc mon "soucis" est plutôt d'ordre esthétique; Je contruit mon code html avec php en utilisant des "\t" (tabulation) "\n" (retour à la ligne) pour que ce soit jolie (et debuggable) quand j'affiche la source avec mon navigateur préféré.
Sauf que quand j'importe des données dynamique venant de la base de donnée, les retours à la ligne des données me cassent ma structure exemple
<html>
        <body>
                  <p>
                             Paragraphe venant de la base de donnée comportant des 
retours à la ligne, rendant plus difficilement compréhensible
la lecture du code source

                  </p>

        </body>


Je me demande s'il n'y a pas une fonction php permettant de rendre le code automatiquement comme ça:
<html>
        <body>
                  <p>
                             Paragraphe venant de la base de donnée comportant des 
                             retours à la ligne, rendant plus difficilement compréhensible
                             la lecture du code source

                  </p>

        </body>



Voila

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

05 oct. 2009, 22:04

Y a pas de fonction php pour ça, mais si tu le souhaites, tu peux faire appel à str_replace() pour transformer les "\n" de la chaine que tu récupères de ta base et les compléter par autant de "\t" que nécessaire...

Ca donnerait quelque chose du genre :
echo "\t\t\t"; // ta tabulation initiale
echo str_replace("\n", "\n\t\t\t", $maChaine); // complète les retours avec les tabulations
Maintenant, c'est peut être un peu lourd juste pour faire un joli code source, qui au final sera aussi plus lourd pour le navigateur (bon ok, ça se compte en pouillème, mais s'pour le principe ;))
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Roum
Invité n'ayant pas de compte PHPfrance

06 oct. 2009, 10:21

ok d'accords zut, ben tan-pis je ferai comme ça, enlever les "\n" et tout mettre sur une ligne comme ça ce sera lisible propre...!
MERCI