>백엔드 개발 >PHP 튜토리얼 >내 `nl2br()` 함수가 개행 문자를 ``로 바꾸지 않는 이유는 무엇입니까?

내 `nl2br()` 함수가 개행 문자를 ``로 바꾸지 않는 이유는 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-06 02:27:02225검색

Why is my `nl2br()` function not replacing newlines with ``?

개행 문자 또는 rn을
로 바꾸기: 문제 해결 가이드

개행 문자를
로 바꾸려고 합니다. , preg_replace(), str_replace() 및 nl2br()을 활용하여 다양한 접근 방식을 시도했지만 예기치 않은 동작이 발생했습니다. 이중 줄바꿈(rr)이 실패의 원인이 될 가능성이 낮다고 판단하여 명확한 설명을 원하셨습니다.

해결책:

응답에서 강조된 것처럼 줄바꿈을 다음으로 변환하는 권장 방법은 다음과 같습니다.
nl2br() 함수를 사용하고 있습니다. 그러나
개행 문자 앞에 태그를 추가해야 합니다.

예:

<code class="php">// Will not work
$desc = 'Line one\nline two';
// Should work
$desc2 = "Line one\nline two";

echo nl2br($desc);
echo '<br />';
echo nl2br($desc2);</code>

추가 고려 사항:

nl2br( )가 여전히 의도한 대로 작동하지 않으면 $desciption 텍스트가 큰따옴표로 묶여 있는지 확인하십시오.

이유:

작은따옴표는 다음과 같은 이스케이프 시퀀스를 확장하지 않습니다. n, 큰따옴표로 묶인 문자열은 그렇습니다. 이러한 불일치로 인해 예기치 않은 동작이 발생할 수 있습니다.

문서 인용:

"참고: 큰따옴표 및 heredoc 구문과 달리 특수 문자에 대한 변수 및 이스케이프 시퀀스는 작은따옴표로 묶인 문자열에 나타나면 확장됩니다."

위 내용은 내 `nl2br()` 함수가 개행 문자를 ``로 바꾸지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.