개행 문자 또는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!