[PHP] Recherche d'astuce pour la lisibilité code HTML [Résolu]

Signaler
Messages postés
8
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
15 juin 2006
-
Messages postés
8
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
15 juin 2006
-
Bonjour,

Je suis à la recherche d'une astuce pour mieux indenter le code de page html que je construis via PHP.
Pour améliorer un peu les choses j'utilise le "/n". Mais est ce réellement la solution à adopter (certe avec un peu plus de rigueur), ou existe t'il une astuce plus "puissante"?

le but étant de passer d'un code de ce type
<select>
                <option></option>
                                     <option></option>
                                                 </select>

a un code structuré:
<select>
    <option></option>
    <option></option>
</select>

Merci pour vos réponses.

Cordialement,
Helbi

13 réponses

Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Salut!
Tu peux aussi coupler les \n avec des \t (tabulations) mais je sais pas si il y a mieux à faire, :)

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
Salut ^^

Moi je fais comme ca :

<?php

define('N', "\n");

echo '<select name="nom">';

for( $i = 0 ; $i < 5 ; $i++ )

echo N, ' </option value="', $i, '">', $i, '</option>';

echo '</select>';

?>


Ca fonctionne tres bien

<hr />Si ma reponse te convient, merci de l'accepter !
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Hello,

la syntaxe heredoc, utilisée avec beaucoup d'attention, peut être pas mal selon les cas :
echo <<<HTML
<select>
   <option></option>
</select>
HTML;

Elle conserve la mise en forme, en fait.
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
fais voir ton code ?

heredoc ne marchera pas dans la déclaration des propriétés membres d'une classe:

private $sString = <<<EOF
bla bla
EOF;

ne marchera pas.
Ensuite, il FAUT respecter ceci :
<<<EOF {saut de ligne...je ne sais plus si ça, c'est indispensable mais il me semble que oui)}
bla bla {saut de ligne!!}
EOF; {colonne 0!! Pas d'espace avant le EOF;}
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
Tout comme, non ?

echo '
<select>
   <option></option>
</select>';

<hr />Si ma reponse te convient, merci de l'accepter !
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Nan, lol.
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
Bah, ca donne le même resultat dans le code source pourtant ... quels sont les differences ???

<hr />Si ma reponse te convient, merci de l'accepter !
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Ben pas chez moi lol, ça ne garde pas la mise en page à l'affichage de la source, un echo, sur mon système.
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Je l'ai déjà utilisé, ce système, ca marche mais plus ou moins, lol. Ca garde une identation relativement à la première ligne mais des fois, ca décale par rapport au reste.

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Je l'ai dit, c'est à utiliser avec parcimonie...c'est loin d'être un système parfait ;-)
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Non, mais je parlais de la solution de JoJo738. Pour ce que tu as donné, Malalam, je pense que c'est assez éfficace car je l'ai vu dans quelques gros scripts, notamment IPB... :)

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Messages postés
8
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
15 juin 2006

Merci pour vos réponses !
Est ce normal que la syntaxe heredoc ne marche pas dans des classes ?
(l'exemple de RPG Creator de Malalam me dit que c'est pas normal)
Avez vous eu le même pb ?

parser error. Error in expression (Found token 'EOF')

Sinon, il est vrai que \n \r \t marchent mais demande une rigueure particulière dans le code.
Je cherchais une solution un peu plus subtile.

Merci,

Cordialement,
Helbi
Messages postés
8
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
15 juin 2006

Ah bah voila qui marche mieux, mais c'est assez perturbant comme type de syntaxe.

Merci bcp a vous tous.