Je n'arrive pas à faire un retour chariot sous wamp avec \n ou \r (dans le code source donc).
Comment peut-on faire un vrai retour chariot ? (c'est à dire que le texte se repositionne sous le début de la ligne précédente dans le code source)
Merci d'avance,
@ntonin.

8 réponses


Qyy
Réponse acceptée

Bonjour,

Je ne suis pas sur d'avoir compris la demande, mais si ce que vous voulez, c'est afficher dans le navigateur web les retour chariot sans les remplacer par des balises <br />, il faut mettre le texte dans une node <pre></pre>

si ce que vous souhaitez concerne l'indentation, vous pouvez ajouter des tabulation avec \t

\r\n représente le retour chariot Windows

\r est utilisé comme retour chariot dans les systèmes MacOS avant la version X

\n est utilisé comme retour chariot dans les systèmes Unix, Linux, et par extension MaxOS à partir de la version X qui est basé sur Darwin, un fork de FreeBSD.

Il est important de noter que echo("\n"); produira un retour chariot alors que echo('\n'); ne fera qu'afficher la chaîne \n

pour finir, la fonction php nl2br permet de convertir les saut de ligne en balise html ou xhtml :
http://fr2.php.net/manual/fr/function.nl2br.php

En espérant vous avoir été utile.

Première foi que je vois sur la toile quelqu'un avec le même prénom que moi :)

Sinon, j'imagine que tu parles du retour chariot lorsque tu fait un echo en php
et que le retour chariot tu le veux sur en "brut" sur la page sinon en HTML, la balise br

Es tu sure d'avoir mis le texte entre double quote (") et pas simple quote (')?!

@ntonin
Auteur

Premièrement, c'est pareil pour moi =).

Non le retour chariot je le veux en source (pour que le code soit lisible).
Oui mon texte est bien entre "".

J'ai essayé aussi \n\r et \r\n pas plus de résultats.
(ça me donne juste deux sauts de ligne)

\r et \n simplement me donne juste un retour à la ligne.

Merci.

@ntonin

J'ai exactement le même probleme,
c'est très genant car le syntax highlight ne fonctionne pas au <br> mais bien au retour chariot qui se trouve dans le fichier php.

un echo "\n" ou "\t" va mettre des tabulations et rendre plus propre ta page final html mais ton code php sera horrible
de plus, si tu fais un echo de donnée extrait d'un base de donnée tout sera sur une ligne...

Alors pour le moment ma solution c'est de baliser PHP le plus proche possible du code. D'ailleur si je me rappel bien de quelques codes, c'est la solution de Grafikart mais lui a trouvé aussi une semi-solution pour mon problem HilightSyntax mais pas completement car une foi qu'une balise code est placé, c'est fini, les retour chariot ne passe plus, mais je que je m'égare du sujet

Je m'explique:

au lieu de faire:

<?php
echo '<div>' . $titre . '</div>';
echo '<div>' . $texte . '</div>';
?>

Je fait:

<div><?php echo $titre; ?></div>
<div><?php echo $texte; ?></div>

Le retour chariot en html passe bien alors que lorsue une foi entre balise php, les retour chariot ne passe pas

Si tu passe par un systeme MVC, il n'y aura que les view qui seront affecter.
donc les seul partie que tu devra sortir des code php c'est les echo de texte

Par exemple

<?php echo '<div id="monid">' . $mavaleur . '</div>'; ?>

deviendra:

<div id="monid"><?php echo $mavaleur; ?></div>

(je viens de résoudre mon problème si jamais)

Je comprend pas, avec \n t'as un retour chariot nan?
Qu'entends tu par un "vrai retour chariot"? tu veux l'indentation avec?
Si oui le "vrai" retour chariot se fait grace a l'application que tu utilise qui calcule le nombre de tab de la précédente ligne et ajoute le mm nombre a la nouvelle ligne

Donc si tu veux faire ton "vrai" retour chariot tu dois ajouter tes \t

@ntonin
Auteur

Oui mais t'imagine le code après ?
Bref, si je veux que mon code soit à peu près bien, je mets des \n et je vire l'indentation de mon code source ?
Après, ...
@ntonin

C'est difficil d'avoir une beau code bien propre du coter dev et du coté utilisateur

Pour avoir quelque chose de propre des deux coté, je te conseil donc ma technique de minimiser au maximum les partie php (comme expliqué précédement, faire des echo que de variable, pour tout ce qui est php, le sortir du script php)
En plus tu gagnera en flexibilité et tu aura tes tab/retour chariot comme souhaité
Si je me rappel bien de certaines sources c'est la manière de Grafikart

Ou alors tu met tout dans le script et tu t'amuse avec tes \r\n et \t