Dynamic-Mess.com


"The world is a dynamic mess of jiggling things..."

\r, \n, \t, EOL : les significations des retours à la ...

Article posté le 06-08-2015 dans la catégorie PHP

Nombreux sont les questions sur les forums où l'internaute pose la question sur la signification des différents caractères spéciaux comme 'n'... Voici donc un petit topo pour y voir plus clair.

En HTML, tous ces éléments sont interprétés comme des espaces.

Par conséquent, vous pouvez utiliser la fonction nl2br() en PHP, qui convertira automatiquement les sauts à la ligne en <br/>! Cependant, elle n'est pas nécessaire à l'intérieur d'éléments de formulaire, comme une textarea.

De plus, comme vous pouvez le constater, si vous êtes sous Windows ou sous un Unix-based OS (Linux, Mac OS...), le retour à la ligne est différent. Il vaut mieux donc utiliser à la place la constante PHP 'PHP_EOL' qui se charge elle-même de trouver le bon contenu!

Bon, maintenant, on en arrive à la question qui tue... Pourquoi quand je fais un echo "Bonjour \n Eric";, j'obtiens à l'écran:

Bonjour \nEric

au lieu de

Bonjour 
Eric

?

La réponse est très simple: initialement PHP était un language de templating (il y a lonnnnngtemps qu'il a dépassé ce stade). Il servait donc à faire de la mise en forme de document... donc de fichiers textes. Ainsi, toutes les balises vues ci-dessus ont des effets dans les fichiers textes, qu'il soient bruts, ou au format HTML.

Ainsi, si à l'écran vous ne voyez pas de différence, faites un clic-droit -> afficher la source, et la, vous la verrez!


Tweet
comments powered by Disqus