Aller au contenu

Code XHTML généré par PHP


Sujets conseillés

Posté

Bonjour,

Je suis nouveau ici, ayant découvert ce site que très récement, je me présente un peu avant ma question.

Je suis développeur Web ( PHP/XHTML/Css/Mysql ) au chomage, à la recherche d'un emploi dans la région Nord-Pas de calais.

J'ai un soucis récurent qui est mon code généré par Php en XHTML, celui ci n'est jamais très bien indenté du fait de s boucles,décalage,indentation dans le code Php et aussi des balises Php.

J'utilise comme soft de développement Pspad, je ne pense pas que le soucis vienne de ce dernier.

Exemple de code PHP

               if (!empty($dossier))
              {
                 echo "<div id=\"cadreGen\">\n";
                 echo "<h2>Dossiers</h2>\n";
                 echo "<ul>\n";
                 ...

Généré en XHMTL :

<div id="cadreGen">
<h2>Dossiers</h2>
<ul>
<li>

tout est aligné, je pourrais certe commencé à mettre des espaces dans les echos mais ca ne ferais pas propre.

J'aurais voulu savoir qu'elles sont les solutions que vous avez trouvé qui pourrait éviter ce genre de phénomène.

Merci.

Posté

Il n'y a pas grand chose à faire...

À part jouer le paranoïaque à chaque ligne...

Pour ma part,

                  echo "<div id=\"cadreGen\">\n";
                echo "<h2>Dossiers</h2>\n";
                echo "<ul>\n";

fait moins "propre" que

 echo '<div id="cadreGen">
<h2>Dossiers</h2>
<ul>';

mais bon, ça n'est qu'un avis personnel...

Posté

Pour une indentation manuelle, vous pouvez vous passer des echo et utiliser les HEREDOC

echo <<<HERE_DOC
<div id="cadreGen">
   <h2>Dossiers</h2>
</div>
HERE_DOC;

Une autre solution est d'utiliser la librairie tidy, si elle est installee sur votre serveur, qui permet une indentation automatique du code HTML, un nettoyage des balises, etc.

@ob_start();
...
...

$buffer = ob_get_contents();
ob_end_clean();

if ( function_exists('tidy_parse_string') ){
   $config = array(
       'indent'        => true,
       'indent-spaces' => 2,
       'output-xhtml'  => true,
       'wrap'          => 200,
   );

   $buffer = tidy_parse_string($buffer, $config);
   $buffer->cleanRepair();
}
echo $buffer;

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...