2011-04-30 12 views
19

내 HTML에 텍스트 영역이 있습니다. 사용자가 2 문장 사이에 입력하면 데이터가 PHP로 옮겨 져야합니다.텍스트 영역에서 줄 바꿈 입력

Apple 
Google 
MS 

내 PHP 코드는 다음과 같습니다 :

현재 사용자가 입력하면

$str = $_POST["field"]; 

echo $str; 

내가 출력으로

Apple Google MS 

를 얻을. 나는 출력이

Apple 
Google 
MS 

어떻게해야합니까에게처럼되고 싶어?

답변

38

대신 nl2br()을보십시오 : 당신이 그것을 에코 때 HTML로 표시되어 있기 때문에

echo nl2br($str); 
+2

더 좋습니다. 거기에 내장 된 함수가 있다는 것을 몰랐습니다. – Thilo

3

줄 바꿈은 $_POST["field"]에서 가져 오는 문자열에 포함되어야합니다. 그러나 HTML에서 해당 문자열을 출력으로 사용하면 줄 바꿈 문자가 공백 문자로 처리됩니다. 줄 바꿈을 강제로 수행하려면 preg_replace("/\n/", "<br />", $str)을 사용하십시오.

+0

은 레그가 (에 분리)를 실패하지 것이다, 또한 왜 그냥'않는 str_replace()'를? –

+0

True - 고정되어 있습니다. 그리고 당신의 대답은 어쨌든 좋습니다. 그러나 원인을 설명하면 수정 사항을 더 잘 이해하는 데 도움이됩니다. – Thilo

0

이입니다. \n 문자는 공백으로 해석됩니다. 소스를 보면 원하는 출력을 볼 수 있습니다.

<br> 사용 \n을 변환하려면

echo nl2br($str); 
관련 문제