사용자가 주석을 입력 할 수 있도록 텍스트 영역을 사용하고 있습니다. 그러나 사용자가 새 줄을 입력하면 새 줄이 출력 될 때 나타나지 않습니다. 줄 바꿈을 유지하는 방법이 있습니까?
줄 바꿈을 어떻게 보존합니까?
사용자가 주석을 입력 할 수 있도록 텍스트 영역을 사용하고 있습니다. 그러나 사용자가 새 줄을 입력하면 새 줄이 출력 될 때 나타나지 않습니다. 줄 바꿈을 유지하는 방법이 있습니까?
줄 바꿈을 어떻게 보존합니까?
답변:
내가 사용하는 것은 다음과 같습니다.
$textToStore = nl2br(htmlentities($inputText, ENT_QUOTES, 'UTF-8'));
$inputText
양식 또는 텍스트 영역에서 제공하는 텍스트입니다.
및 $textToStore
에서 반환 된 텍스트 nl2br
이며 htmlentities
데이터베이스에 저장됩니다.
ENT_QUOTES
큰 따옴표와 작은 따옴표를 모두 변환하므로 문제가 없습니다.
내 대답 : 텍스트 영역의 데이터에서이 함수를 사용하면 문제가 해결됩니다.
function mynl2br($text) {
return strtr($text, array("\r\n" => '<br />', "\r" => '<br />', "\n" => '<br />'));
}
더 여기 : http://php.net/nl2br
나는 mysql에 저장하기 위해 textarea 에 있는 동일한 텍스트를 보존하기 위해이 두 가지 방법 단계를 사용 하고 있으며 시간이 지남에 따라 단순히 일반 텍스트를 표시 할 수도 있습니다 .....
1 단계:
$status=$_POST['status'];<br/>
$textToStore = nl2br(htmlentities($status, ENT_QUOTES, 'UTF-8'));
쿼리에서 $textToStore
...를 입력하십시오 .
2 단계:
선택 쿼리에 대한 코드 작성 ... 및 직접 에코 값 ....
효과가있다
그것이 soooo 쉬울 수 있는데 왜 make는 sooooo 어려운 사람들입니다 :)
//here is the pull from the form
$your_form_text = $_POST['your_form_text'];
//line 1 fixes the line breaks - line 2 the slashes
$your_form_text = nl2br($your_form_text);
$your_form_text = stripslashes($your_form_text);
//email away
$message = "Comments: $your_form_text";
mail("destination_email@whatever.com", "Website Form Submission", $message, $headers);
분명히 헤더가 필요하고 필드가 더 많을 가능성이 있지만 이것은 텍스트 영역입니다.