Article mis à jour le : 05-05-2022
La définition et l'explication pour chacun des principaux retours, \r, \n, \t, EOL...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:
au lieu de
?
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!