Maison > développement back-end > tutoriel php > Explication détaillée du problème lorsque php gère les sauts de ligne

Explication détaillée du problème lorsque php gère les sauts de ligne

黄舟
Libérer: 2023-03-14 14:16:01
original
1440 Les gens l'ont consulté

Parlons d'abord de la différence entre r et n
L'origine et la différence des deux concepts "Carriage Return" et "Line Feed".
Dans les ordinateurs Avant son apparition, il y avait quelque chose appelé Teletype Model 33 (le concept de tty sous Linux/Unix vient de là), qui pouvait taper 10 caractères par seconde, mais il avait un problème, c'est-à-dire qu'il pouvait finir de taper une ligne lors d'un changement de ligne. , cela prend 0,2 seconde, ce qui est suffisant pour taper deux caractères. Si un nouveau caractère est transmis pendant ces 0,2 secondes, alors ce caractère sera perdu

Ainsi, ont pensé les développeurs. consiste à ajouter deux caractères de fin après chaque ligne. L'un est appelé « retour chariot », qui indique à la machine à écrire de positionner la tête d'impression sur la bordure gauche ; l'autre est appelé « saut de ligne », qui indique à la machine à écrire de déplacer le papier vers le bas ; . Une ligne. C'est l'origine du "saut de ligne" et du "retour chariot", comme en témoignent leurs noms anglais

Plus tard, l'ordinateur a été inventé, et ces deux concepts ont été introduits dans l'ordinateur. À cette époque, la mémoire coûtait très cher et certains scientifiques pensaient que c'était trop inutile d'ajouter deux caractères à la fin de chaque ligne. Il y avait donc un désaccord. Dans les systèmes Unix, un seul caractère était ajouté à la fin de chaque ligne. . "", qui est "n" dans le système Windows, la fin de chaque ligne est "", qui est "nr" dans le système Mac; de chaque ligne est "< "Enter>", c'est-à-dire "n";. Une conséquence directe est que si le fichier sous le système Unix/Mac est ouvert sous Windows, tout le texte deviendra une seule ligne; et si le fichier dans Windows est ouvert sous Unix/Mac, il peut y avoir un symbole ^M supplémentaire à la fin de chaque ligne

Lors de la programmation en langage C (système Windows)
r revient au début de celui-ci. line, qui renverra la sortie précédente de cette ligne. Écrasez-la

Par exemple : (Notez que ce qui suit est du code C++)
Seul xixi est affiché à la fin, et hahaha l'est. recouvert de

int main (){cout << "hahaha" << "\r" << "xixi" ;}
Copier après la connexion
n est un retour chariot+ Saut de ligne : déplacez d'abord le curseur au début de la ligne, puis passez à la ligne suivante, qui est le début de la ligne suivante <. 🎜>


int main()
{
cout << "hahaha" << "\n" << "xixi" ;
}
Copier après la connexion
L'expression des deux sauts de ligne


en ordinaire Dans les fichiers tels que .txt, .php, etc., les sauts de ligne sont "rn", "n", "r", mais lorsqu'ils sont affichés dans des fichiers HTML (voici une remarque : les sauts de ligne dans le champ de texte TEXTAREA du HTML sont également "r") ou "n") est le "
Utilisez le script PHP pour convertir.
Le code est le suivant (tiré du manuel PHP) :


//Order of replacement
$str="Line1\nLine2\rLine3\r\nLine4\n";
$order=array("\r\n","\n","\r");
$replace=&#39;<br/>&#39;;
$newstr=str_replace($order,$replace,$str);
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal