[php] 줄 바꿈 문자를 만드는 방법?

PHP에서 줄 바꿈 문자를 만들려고합니다.

echo $clientid;
echo ' ';
echo $lastname;
echo ' ';
echo '\r\n';

그런 다음 작성된 파일을 메모장에서 열고 문자 그대로 개행을 씁니다.

요한 1 서 \ r \ n 요한 1 서 \ r \ n 요한 1 서 \ r \ n

의 많은 변형을 시도 \r\n했지만 작동하지 않습니다. 개행이 개행으로 바뀌지 않는 이유는 무엇입니까?



답변

큰 따옴표로 묶인 문자열 만 이스케이프 시퀀스 \r\n‘0x0D’및 ‘0x0A’로 각각 해석 하므로 원하는 경우 :

"\r\n"

반면 작은 따옴표로 묶인 문자열 은 이스케이프 시퀀스 \\및 만 알고 \'있습니다.

따라서 작은 따옴표로 묶은 문자열을 다른 곳에서 생성 된 줄 바꿈과 연결하지 않으면 (예 : 큰 따옴표로 묶은 문자열 "\r\n"사용 또는 chrfunction 사용 chr(0x0D).chr(0x0A)) 작은 따옴표로 묶은 문자열 내에서 줄 바꿈을하는 유일한 방법은 문자 그대로 편집기에서 입력하는 것입니다.

$s = 'some text before the line break
some text after';

특정 문자 순서가 필요한 경우 편집기에서 줄 바꿈 설정을 확인하십시오 ( \r\n예 :).


답변

사전 정의 된 PHP_EOL상수를 사용하십시오 .

echo $clientid, ' ', $lastname, PHP_EOL;

상수 값은 PHP가 실행되는 운영 체제의 줄 끝에 따라 설정됩니다. 리눅스에서는 "\n"; Windows에서는입니다 "\r\n".


답변

PHP의 “echo”명령은 출력을 원시 html로 브라우저에 출력하므로 큰 따옴표로 묶어도 HTML의 개행 문자는 아무 의미가 없기 때문에 브라우저가 두 줄로 구문 분석하지 않습니다. 따라서 다음 중 하나를 사용해야합니다.

echo [output text]."<br>";

“echo”를 사용하거나 fwrite를 사용하는 경우 …

fwrite([output text]."\n");

“\ n”대신 HTML 줄 바꿈이 출력됩니다.


답변

플랫폼에 관계없이 올바른 PHP_EOL을 사용하여 올바른 문자를 얻으십시오.

http://us3.php.net/manual/en/reserved.constants.php

간단한 사용법 예 :

<?php
$data = 'First line' . PHP_EOL .
        'Second line' . PHP_EOL .
        'Third line';

file_put_contents("filename.txt", $data);
?>


답변

큰 따옴표 사이의 문자열이 ""보간됩니다. 즉, 이스케이프 된 문자를 인쇄 가능한 문자로 변환합니다.

작은 따옴표 사이의 문자열 ''은 리터럴이므로 문자를 입력 한 그대로 처리됩니다.

같은 줄에 둘 다 가질 수 있습니다.

echo '$clientid $lastname ' . "\r\n";
echo "$clientid $lastname \r\n";

출력 :

$clientid $lastname
1 John Doe


답변

이것을 사용해야합니다 :

"\n"

PHP EOL을 보고 싶을 수도 있습니다 .


답변

실제로 \r\n출력의 html 쪽입니다. 이러한 문자를 사용하면 HTML 코드에서 개행을 작성하여 더 읽기 쉽게 만들 수 있습니다.

echo "<html>First line \r\n Second line</html>";

출력합니다 :

<html>First line
Second line</html>

페이지를 보는 것은 :

First line Second line

당신이 정말로 이것을 의미한다면, 당신은 작은 따옴표를 “”따옴표로 고치기 만하면됩니다 :

echo "\r\n";

그렇지 않으면 텍스트를 분할하려는 경우 샘플 ‘첫 번째 줄’과 ‘두 번째 줄’에서 html 코드를 사용해야합니다. <br />:

First line<br />Second line

출력됩니다 :

First line
Second line

또한 전체 스크립트를 다음과 같이 바꾸면 더 읽기 쉽습니다.

echo "$clientid $lastname \r\n";