> 백엔드 개발 > PHP 튜토리얼 > PHP가 줄 바꿈을 처리할 때 발생하는 문제에 대한 자세한 설명

PHP가 줄 바꿈을 처리할 때 발생하는 문제에 대한 자세한 설명

黄舟
풀어 주다: 2023-03-14 14:16:01
원래의
1440명이 탐색했습니다.

먼저 r과 n의 차이점에 대해 이야기해 보겠습니다.
캐리지 리턴과 라인 피드라는 두 개념의 유래와 차이점
컴퓨터가 등장하기 전에는 텔렉스 A 타자기(Teletype Model 33, Linux/Unix의 tty 개념에서 유래)은 초당 10자를 입력할 수 있지만 새 문자를 입력하는 경우 줄 바꿈을 완료하는 데 0.2초가 걸린다는 문제가 있습니다. 이 0.2초 동안 전송되면 이 문자는 손실됩니다. 그래서 개발자는 이 문제를 해결하기 위해 각 줄 뒤에 문자 두 개를 추가하는 방법을 고안했습니다. 이는 타자기에 인쇄 헤드를 왼쪽 경계에 위치시키라고 지시하고, 다른 하나는 "라인 피드"라고 하며, 이는 타자기에 용지를 한 줄 아래로 이동시키라고 지시하는 것입니다. 이것이 "라인 피드"와 "캐리지 리턴"의 기원입니다.

나중에 컴퓨터가 발명되었고 이 두 가지 개념이 컴퓨터에 도입되었습니다. 당시 메모리는 매우 비쌌으며 일부 과학자들은 각 끝에 2를 추가한다고 생각했습니다. 문자는 너무 낭비이므로 하나만 추가하면 됩니다. 따라서 Unix 시스템에서는 각 행의 끝이 ""입니다. Windows 시스템에서는 "n"입니다. 각 줄은 ".", 즉 Mac 시스템에서는 "nr"이고, 각 줄의 끝은 "", 즉 "n"입니다. 직접적인 결과는 Unix/Mac 시스템에서 Windows에서 파일을 열면 모든 텍스트가 한 줄이 되고 Windows에서 파일을 Unix/Mac에서 열면 추가 ^M 기호가 있을 수 있다는 것입니다.

C 언어 프로그래밍(Windows 시스템)
r은 이 줄의 시작 부분으로 돌아가서 이 줄의 이전 출력을 덮어씁니다.

예: (다음은 C++ 코드입니다.)

마지막에 xixi만 표시되고 ㅋㅋㅋㅋㅋ 뒤가 덮어씌워졌네요

int main (){cout << "hahaha" << "\r" << "xixi" ;}
로그인 후 복사

n은 캐리지 리턴 + 줄 바꿈으로 커서를 먼저 줄의 시작 부분으로 이동한 후 시작 부분인 다음 줄로 변경합니다.
int main()
{
cout << "hahaha" << "\n" << "xixi" ;
}
로그인 후 복사


(.txt,.PHP 등)과 같은 일반 파일에서 두 번째 줄 바꿈

표현은 "rn", "n", "r"입니다. , 그러나 HTML 파일에 표시될 때(참고: HTML의 TEXTAREA 텍스트 필드의 줄 바꿈도 "r" 또는 "n"임)는 "<" ;br/>" 태그입니다.
PHP 스크립트를 사용하여 변환하세요.
코드는 다음과 같습니다(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);
로그인 후 복사

위 내용은 PHP가 줄 바꿈을 처리할 때 발생하는 문제에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿