사용자가 주석을 입력 할 수 있도록 텍스트 영역을 사용하고 있습니다. 그러나 사용자가 새 줄을 입력하면 새 줄이 출력 될 때 나타나지 않습니다. 줄 바꿈을 유지하는 방법이 있습니까?
줄 바꿈을 어떻게 보존합니까?
답변
이를위한 두 가지 솔루션 :
-
PHP 기능
nl2br()
:예 :
echo nl2br("This\r\nis\n\ra\nstring\r"); // will output This<br /> is<br /> a<br /> string<br />
-
입력을
<pre></pre>
태그로 묶습니다 .
답변
내가 사용하는 것은 다음과 같습니다.
$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 단계:
선택 쿼리에 대한 코드 작성 … 및 직접 에코 값 ….
효과가있다
답변
이것은 작동합니다 :
function getBreakText($t) {
return strtr($t, array('\\r\\n' => '<br>', '\\r' => '<br>', '\\n' => '<br>'));
}
답변
function breakit($t) {
return nl2br(htmlentities($t, ENT_QUOTES, 'UTF-8'));
}
이것은 당신을 도울 수 있습니다
textarea 월마트를 통과
답변
그것이 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);
분명히 헤더가 필요하고 필드가 더 많을 가능성이 있지만 이것은 텍스트 영역입니다.