PHP의 nl2br() 함수는 문자열 안에 포함된 모든 줄바꿈(newline) 문자 앞에 HTML 줄바꿈 태그를 자동으로 삽입해 주는 함수입니다. 웹 브라우저는 일반적인 줄바꿈 문자(\n)를 화면에 그대로 반영하지 않기 때문에, 데이터베이스나 텍스트 파일에서 가져온 여러 줄의 텍스트를 그대로 출력해야 할 때 이 함수가 매우 유용합니다.
nl2br() 함수가 인식하는 줄바꿈 문자는 다음과 같습니다.
- \n\r
- \r\n
- \n
- \r
문법(Syntax)
nl2br(str, xhtml)
매개변수(Parameters)
str — 줄바꿈을 변환할 대상 문자열입니다.
xhtml — XHTML 호환 형식의 줄바꿈 태그를 사용할지 여부를 결정하는 불리언(Boolean) 값입니다.
TRUE — <br /> 태그를 삽입합니다. (기본값)
FALSE — <br> 태그를 삽입합니다.
반환값(Return)
nl2br() 함수는 줄바꿈 태그가 삽입된 변환된 문자열을 반환합니다. 원본 문자열 자체는 변경되지 않습니다.
예제 1: xhtml을 false로 지정
다음 예제는 두 번째 매개변수를 false로 설정하여 HTML5 스타일의 <br> 태그를 삽입합니다.
<?php
echo nl2br("This has multiple \nlines\nhere!", false);
?>
출력 결과
This has multiple
lines
here!
예제 2: \r\n 줄바꿈 처리
Windows 계열 시스템에서 주로 사용되는 \r\n 줄바꿈 문자도 동일한 방식으로 처리할 수 있습니다.
<?php
echo nl2br("This is\r\ndemo text!", false);
?>
출력 결과
This is
demo text!
정리
nl2br() 함수는 게시판 글, 댓글처럼 사용자가 입력한 여러 줄 텍스트를 웹 페이지에 그대로 보여줘야 할 때 특히 유용합니다. XHTML 호환 모드(<br />, 기본값)와 HTML5 모드(<br>) 중 프로젝트 환경에 맞는 옵션을 선택해 사용하면 됩니다.