8792 sujets

Développement web côté serveur, CMS

Bonjour à tous,

Comment peut-on "maîtriser" l'indentation du code généré dans une instruction du type :



		<ul>
		<?php
		foreach ($errors as $error) {
			echo('<li>'.$error.'</li>'."\n");
		}
?>
		</ul>

dont le résultat est le suivant :


                <ul class="border">
                <li>Le champ &quot;* Nom&quot; est incomplet.</li>

<li>Le champ &quot;* email&quot; est incomplet.</li>
<li>Le champ &quot;* Message&quot; est incomplet.</li>
		</ul>




alors que, un peu pénible, j'aimerais voir :


<ul>
		<li>Le champ &quot;* Nom&quot; est incomplet.</li>
                <li>Le champ &quot;* email&quot; est incomplet.</li>
                <li>Le champ &quot;* Message&quot; est incomplet.</li>
</ul>

Modifié par Vero (01 Oct 2006 - 00:28)
Smiley langue
Merci koala !

Ahhh !
Smiley murf

Au cas où cela interesserait quelqu'un, j'ai testé pour vous (ne perdez pas de temps), il faut :

- sauter une ligne après <ul> et avant </ul> (entre l'instruction php et la balise, en fait)
- mettre autant de \t que nécessaire

Ce qui donne :



<ul >
		
			<?php
			foreach ($errors as $error) {
			echo('<li>'.$error.'</li>'."\n \t \t \t");
			}
?>

</ul>


Sans toucher à l'indentation php (histoire de respecter tout le monde)

Si vous avez mieux, nous serons preneurs pour toute technique et astuce plus élaborée ... ou ressource que je n'ai jamais trouvée !
Smiley lol
Moi j'avais pensé à quelque chose de plus simple (et sans générer d'espaces entre deux tabulations, tant qu'à faire) :
		<ul>
<?php
foreach ($errors as $error) {
	echo "\t\t\t<li>$error</li>\n";
}
?>
		</ul>


J'avais peur que le dernier retour chariot (\n) crée un espace vide avant la balise fermant la liste, mais il semblerait que non.