PHP에서 작은따옴표로 줄 바꿈 출력하기
PHP에서 큰따옴표(" ") 안에 있는 \n은 실제 줄 바꿈 문자로 해석되지만, 작은따옴표(' ') 안에서는 이스케이프 시퀀스가 동작하지 않고 단순한 문자열로 처리됩니다. 따라서 작은따옴표 환경에서 줄 바꿈을 출력하려면 다른 대안을 사용해야 합니다.
- 명령줄 인터페이스(CLI)에서 실행할 경우: 상수
PHP_EOL을 사용할 수 있습니다. - 브라우저에서 실행할 경우: '<br>' 태그를 사용할 수 있습니다.
두 가지 방법 모두 아래에서 확인할 수 있습니다.
<?php
if (PHP_SAPI === 'cli') {
return PHP_EOL;
}
else
{
return "<BR/>";
}
?>만약 실행 환경이 cli가 아니라면 'else' 블록이 실행되어 새 줄이 출력됩니다.
예제
<?php
$var_1 = 'hi';
$var_2 = "\n";
$var_3 = 'hello';
echo $var_1 . $var_2 . $var_3;
echo PHP_EOL;
$var_2 = str_replace("\n", '\n', $var_2);
echo $var_1 . $var_2 . $var_3;
echo PHP_EOL;
?>출력 결과
위 코드는 다음과 같은 결과를 출력합니다.
hi hello hi\nhello
출력 결과를 보면 첫 번째 echo에서는 큰따옴표로 선언된 "\n"이 실제 줄 바꿈으로 처리된 반면, str_replace()로 변환된 후에는 '\n'이 문자 그대로 화면에 그대로 표시되는 것을 알 수 있습니다. 이것이 작은따옴표와 큰따옴표의 핵심적인 차이점입니다.