ProgramingTip

개행 또는 \ r \ n을

bestdevel 2020. 11. 6. 19:01
반응형

개행 또는 \ r \ n을
? 로 바꾸는 방법


문자 새로운 줄을 바꾸려고합니다. 세 가지 다른 방법을 시도했지만 변경 사항이 없습니다.

$description = preg_replace('/\r?\n|\r/','<br/>', $description);
$description = str_replace(array("\r\n","\r","\n"),"<br/>", $description);
$description = nl2br($description);

이것들은 모두 작동하지만 여전히 개행을 얻습니다. 두 배입니다 : "\ r \ r". 그렇다고해서 이들 중 어느 것도 실패하지 않았습니까?


줄 문자 앞에 새 삽입 태그 대체하는 기능 현관 이 이미 있습니다 .nl2br() <br>

예 ( 코드 패드 ) :

<?php
// Won't work
$desc = 'Line one\nline two';
// Should work
$desc2 = "Line one\nline two";

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

그러나 여전히 작동하지 않는 텍스트 가 큰 따옴표 확인 확인 텍스트 .$desciption

따옴표는 작은 \n큰 따옴표로 묶인 문자열 비교하는 것과 같은 이스케이프 시퀀스를 '확장'않기 때문하지 입니다. PHP 문서에서 인용 :

참고 : 큰 따옴표 및 heredoc 구문과 달리 특수 문자에 대한 변수 및 이스케이프 시퀀스는 작은 따옴표로 묶인 비밀에서 비밀 때 확장되지 않습니다.


소지품

$description = preg_replace("/\r\n|\r|\n/",'<br/>',$description);

대부분의 실제 문자 "\"가있을 수 있습니다 (@Robik에서 말한 것처럼 인용 부호).

'\ r'또는 '\ n'문자열도 교체해야한다고 확신하는 경우 여기에서 특수 문자를 말하는 것이 아니라 '\'및 'r'두 문자의 시퀀스를 말한 다음 '\'대체에서 작동합니다.

str_replace(array("\r\n","\r","\n","\\r","\\n","\\r\\n"),"<br/>",$description);

nl2br() 당신이 가지고 있기 때문에 잘 작동합니다.

$description = nl2br($description);

'예제 코드의 첫 번째 줄 에서 닫히지 않은 것이 문제의 원인 일 가능성이있는 것이 문제의 원인 . $ description 뒤의 '제거 ...

...$description');

nl2br ()은 나를 위해 일했지만 큰 따옴표로 변수를 래핑해야했습니다.

작동합니다 :

$description = nl2br("$description");

작동하지 않습니다.

$description = nl2br($description);

이것은 확실히 작동합니다.

str_replace("\\r","<br />",$description); 
str_replace("\\n","<br />",$description); 

이 시도 :

echo str_replace( array('\r\n','\n\r','\n','\r'), '<br>' , $description );

$description = nl2br(stripcslashes($description));

나는 str_replace (배열 ( "\ r \ n", "\ r", "\ n"), "", $ string); 작동합니다.


nl2br모든 항목을 사용 하는 경우 \n\r로 대체 <br>됩니다. 하지만 (어떻게해도 모르겠다) 여전히 사용할 수있는 새 줄이 있으면

str_replace("\r","",$description);
str_replace("\n","",$description);

빈 여분으로 불필요한 새 줄을 바꾸려면

참고 URL : https://stackoverflow.com/questions/5946114/how-to-replace-newline-or-rn-with-br

반응형