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"
사용 또는 chr
function 사용 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
답변
답변
실제로 \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";
