Question \r et \n

Résolu/Fermé
moderno31 Messages postés 870 Date d'inscription mardi 23 juin 2009 Statut Membre Dernière intervention 8 août 2012 - 11 sept. 2009 à 21:29
moderno31 Messages postés 870 Date d'inscription mardi 23 juin 2009 Statut Membre Dernière intervention 8 août 2012 - 12 sept. 2009 à 17:04
Bonjour,
petite question comment on appelle \r et \n : des quoi ?
ce sont retou chariot et nouvelle ligne mais quel est le terme pour les désiner ?
Je cherche le nom
De plus il me semblait que ceci fonctionnait
$message = "lundi\n";
$message .= "mardi";

Je voudrais obtenir
lundi
mardi

Tant qu'on y est .= est bien un opérateur de concaténation ? Quelle différence avec le . (point)?

Merci merci
A voir également:

4 réponses

P@t@ch0n Messages postés 565 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 28 décembre 2009 85
12 sept. 2009 à 09:54
Parce que le mime du contenu renvoyé par ton code est du text/html, comme c'est du php je suppose, le mime par défaut établi dans le php.ini est celui-là.

En spécifiant une sortie en texte brut, tes sauts de lignes seront retranscris à l'affichage.
header('Content-type: text/plain'); // A mettre avant tout echo
2
pyschopathe Messages postés 1973 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
12 sept. 2009 à 13:55
Si tu regardes le code source de ce que tu as affiché, tu devrais constater que lundi et mardi sont affichés sur deux lignes différentes, la solution de P@t@ch0n est donc la bonne.

Et si tu veux quand même afficher du html, tu passes par la fonction nl2br qui va te convertir les sauts de ligne en balise <br />.
0
pyschopathe Messages postés 1973 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
12 sept. 2009 à 00:56
Bonsoir.

\r et \n sont des caractères de contrôle. Ils représentent respectivement un retour chariot (Carriage Return) et un saut de ligne (Line Feed). Sous les systèmes de type Unix, LF suffit pour sauter une ligne. Sous les systèmes Windows, il faut utiliser la séquence CRLF (\r\n).

Dans ton exemple, $message contiendra la chaîne "lundi\nmardi". Si écris cette chaîne dans un fichier (que ce soit un fichier texte ou un fichier généré par le serveur) et que tu affiches ce fichier sous linux, tu verras bien deux lignes.

L'opérateur .= n'est qu'une abréviation. $message .= "truc" signifie $message = $message . "truc". D'autres abréviations de ce type existent pour les opérateurs arithmétiques : +=, -=, *=, /=.
0
moderno31 Messages postés 870 Date d'inscription mardi 23 juin 2009 Statut Membre Dernière intervention 8 août 2012 92
12 sept. 2009 à 06:14
Hello, merci de ta réponse très claire et nette.
Par contre je ne comprends pas pourquoi j'ai pas le résultat attendu.
echo "lundi\nmardi";
i.e et fx me renvoient
lundi mardi
J'ai eu l'idée de regarder le code source et je trouve bien
lundi
mardi

De quoi cela peut-il venir ?
0
moderno31 Messages postés 870 Date d'inscription mardi 23 juin 2009 Statut Membre Dernière intervention 8 août 2012 92
12 sept. 2009 à 17:04
je n'ai pas bien compris mais c'est pas grave. Je reverrai çà après.
Merci de vos explications. J'ai pris note et j'approffondirai
0