정의 및 사용 방법
- PHP 버전
- 4+
nl2br() 함수는 문자열에 포함된 줄바꿈 제어 문자를 HTML의 <br> 태그로 변환하여 브라우저에서 줄바꿈이 표시되도록 합니다.
<br> 태그는 HTML에서 줄을 바꾸는 역할을 하는 '줄 바꿈(line break)' 요소입니다.
특징
이 함수는 주로 사용자가 게시판이나 댓글 등 <textarea>에 키보드의 엔터(Enter) 키를 눌러 입력한 글의 줄바꿈을 브라우저에서도 그대로 출력할 때 사용합니다.
기본 예제
<textarea>에 입력한 댓글
// 사용자가 입력하거나 DB에서 가져온 개행 문자가 포함된 텍스트
$text = "안녕하세요.\n엔터를 치니 줄바꿈하네요^^";
// nl2br() 함수 적용
echo nl2br($text, false);
안녕하세요.<br>
엔터를 치니 줄바꿈하네요^^
엔터를 치니 줄바꿈하네요^^
구문
nl2br(string $string, bool $use_xhtml = true): string
매개변수
$string |
필수. 원본 문자열입니다. |
|---|---|
$use_xhtml |
옵션. XHTML 방식의 <br /> 태그를 사용할지 아니면, HTML5 방식의 <br> 태그를 사용할지 여부를 지정합니다.
|
반환 값
$use_xhtml이 true로 지정되어 있으면 모든 줄바꿈 제어 문자(\r\n, \n\r, \n, \r) 앞에 HTML의 <br /> 태그를, 반면에 false로 지정되어 있으면 <br> 태그를 삽입하여 반환합니다.
홑따옴표(' ') 사용 금지
PHP에서 문자열을 홑따옴표(' ')로 감싸면 역슬래시( \)가 포함된 제어 문자는 제어 문자로 인식되지 않고, 문자 그대로 인식합니다.
이러한 특징은 줄바꿈 제어 문자(\r\n, \n\r, \n, \r)에도 동일하게 적용됩니다. 따라서, nl2br() 함수의 원본 문자열($string)을 감쌀 때에는 반드시 쌍따옴표(" ")를 사용해야 합니다.
\n이 문자 그대로 출력됨)
$text = '안녕하세요.\n엔터를 치니 줄바꿈하네요^^';
// nl2br() 함수 적용
echo nl2br($text, false);
\n이 실제 제어 문자로 인식됨)
$text = "안녕하세요.\n엔터를 치니 줄바꿈하네요^^";
// nl2br() 함수 적용
echo nl2br($text, false);
참고문헌
같이 보기
- PHP htmlentities() 함수 – HTML에 정의된 모든 특수 문자를 엔티티로 변환
- PHP html_entity_decode() 함수 – HTML에 정의된 엔티티를 디코딩
- PHP htmlspecialchars() 함수 – HTML의 예약된 특수문자를 엔티티로 변환
- PHP htmlspecialchars_decode() 함수 – 인코딩된 HTML 예약 문자를 디코딩
- PHP strip_tags() 함수 – 문자열에서 HTML 태그 제거
- PHP_EOL – 운영체제별 줄바꿈 문자를 나타내는 PHP의 미리 정의된 상수
- PHP 이스케이프 특수문자(Escaped characters)