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!