개발 꿀팁/PHP

php에서 \r\n과 \n의 치환되지 않는 오류 해결

Jammie 2022. 6. 24. 18:07
반응형
$text="aaaa
bbb

ccc";

$text=str_replace(’\n‘,"",$text);
$text=str_replace(’\r‘,"",$text);
$text=str_replace(’\r\n‘,"",$text);

일반적으로 말하면 위의 코드는 줄바꿈을 바꿀 수 있을 것이다.

하지만 실제로는 안 된다!

답답해서 여러 번 시도해 봤지만 소용이 없었다.

마지막에 이렇게 고쳤어요

 

$text=str_replace("\n","",$text);
$text=str_replace("\r","",$text);
$text=str_replace("\r\n","",$text);

모든 것이 OK라니, 알고 보니 따옴표, 따옴표의 문제!!

 


php에서 따옴표가 해석되었기 때문에 따옴표가 홑따옴표보다 효율적이다그 과정에서 변수가 있을 수 있는지, 따옴표는 그렇지 않을 수 있다고 판단하기 때문에 일반적으로 변수가 없는 경우에는 따옴표를 사용하는데, 이번에 줄바꿈을 바꿔서 따옴표로 안 되다니.


마지막으로 한 마디로 적어주세요.

$order   = array("\r\n", "\n", "\r");
$replace = '';
$text=str_replace($order, $replace, $text);

이렇게 하면 줄바꿈을 바꿀 수 있습니다!

반응형