IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

indenter le code html produit à la volée


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de php_de_travers
    Inscrit en
    Juin 2004
    Messages
    460
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 460
    Par défaut indenter le code html produit à la volée
    Bonjour,

    lorsque je produis du code html à la volée avec php, tout fonctionne MAIS les balises s'enchaînent à la queue leu leu, ce qui rend le code final impossible à relire pour correction de conformité xhtml par exemple.

    chr(10) et chr(13) modifient l'indentation mais également le code interprêté côté public. J'ai laissé tomber.

    J'ai trouvé une astuce pour bien indenter mes <ul> :
    C'est gourmand en espace de travail et peu souple à la production.

    Quel est le code ascii ou autre à insérer après les balises afin d'indenter le code html, sans rien modifier toutefois à l'affichage html interprêté ?

  2. #2
    Membre éprouvé
    Inscrit en
    Décembre 2009
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 80
    Par défaut
    Je pense que \r\n passe à la ligne et \t fait une tabulation. A vérifier ceci dit.

  3. #3
    Membre chevronné Avatar de BornBanane
    Homme Profil pro
    dev
    Inscrit en
    Mars 2007
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Mars 2007
    Messages : 284
    Par défaut
    Comme le dit OlgarK
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo '<ul>'."\r\n";
    echo "\t".'<li/>'."\r\n";
    echo '</ul>'."\r\n";
    Donnera :

    Ca reste quand même assez lourd à écrire.

  4. #4
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Dans ce cas, il faut obligatoirement utiliser les guillemets pour interprétation des méta caractères de mise en page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo "<ul>\n";
    echo "\t<li>foobar</li>\n";
    echo "</ul>\n";
    Mais je ne suis pas sûr que la mise en page du code source influe sur la validation xhtml.

  5. #5
    Membre éclairé Avatar de php_de_travers
    Inscrit en
    Juin 2004
    Messages
    460
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 460
    Par défaut
    Je confirme que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo '<ul>'."\r\n";
    echo "\t".'<li/>'."\r\n";
    echo '</ul>'."\r\n";
    fonctionne à merveille.

    Sinon, je préfère indenter pour relire le code.
    La conformité w3c ne s'en trouve affectée ni en bien ni en mal.

    Merci !

  6. #6
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Utilisez de préférence "\n" au lieu de "\r\n"

    C'est une notation universelle et PHP fera ensuite la traduction nécessaire en fonction de votre filesystem.

  7. #7
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Citation Envoyé par php_de_travers Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo '<ul>'."\r\n";
    echo "\t".'<li/>'."\r\n";
    echo '</ul>'."\r\n";
    Personnellement, je trouve ça assez illisible ... Alors que ça fonctionne très bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    echo '
    <ul>
        <li/>
    </ul>';

  8. #8
    Membre éclairé Avatar de php_de_travers
    Inscrit en
    Juin 2004
    Messages
    460
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 460
    Par défaut
    s.n.a.f.u
    Utilisez de préférence "\n" au lieu de "\r\n"
    Merci pour ces infos : " au lieu de ' et \n au lieu de \r\n
    On ne peut vraiment pas les inventer...

    Bisûnûrs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    echo '
    <ul>
        <li/>
    </ul>';
    Visuellement OK.
    Mais ça prend de la place dans le code de production avec pas mal de ratées possibles dans les copié-collé. Des softs comme DreamWeaver ont tendance à faire des trucs bizarres à partir des sauts de lignes et tabulations.
    Avis personnel...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Nettoyer et indenter le code HTML généré avant envoi page
    Par CUCARACHA dans le forum ASP.NET MVC
    Réponses: 2
    Dernier message: 07/06/2012, 18h10
  2. Indenter automatiquement du code HTML existant ?
    Par ViRouF dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 23/09/2011, 16h30
  3. Code HTML produit avec PHP dans Eclipse
    Par JCD21 dans le forum Langage
    Réponses: 2
    Dernier message: 28/01/2011, 17h28
  4. Mise en page et indentation du code HTML avant envoi au client
    Par Jonathan.b dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 09/03/2010, 20h49
  5. Réponses: 6
    Dernier message: 02/10/2009, 18h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo