programing

TextArea에서 줄 바꿈

bestcode 2023. 1. 15. 17:06
반응형

TextArea에서 줄 바꿈

사용자가 코멘트를 입력할 수 있도록 텍스트 영역을 사용하고 있습니다.그러나 사용자가 새 행을 입력하면 새 행이 출력될 때 나타나지 않습니다.줄이 끊어지지 않게 하는 방법은 없나요?

줄이 끊어진 걸 어떻게 보존할 수 있는지 알아?

이를 위한 두 가지 솔루션:

  1. PHP 함수:

    예.,

    echo nl2br("This\r\nis\n\ra\nstring\r");
    
    // will output
    This<br />
    is<br />
    a<br />
    string<br />
    
  2. 입력 줄 바꿈<pre></pre>태그를 지정합니다.

    참조: W3C Wiki - HTML/Elements/사전

내가 사용하는 것은 이것이다

$textToOutput = nl2br(htmlentities($text, ENT_QUOTES, 'UTF-8'));

$text표시할 필요가 있는 텍스트입니다.$textToOutput에서 반환된 텍스트입니다.nl2br그리고.htmlentitieshtml 컨텍스트에서 안전성이 표시될 수 있습니다.
ENT_QUOTES큰따옴표와 작은따옴표가 모두 변환되므로 문제 없습니다.

나만의 답을 얻었다: 텍스트 영역의 데이터에서 이 함수를 사용하면 문제를 해결할 수 있다.

function mynl2br($text) { 
   return strtr($text, array("\r\n" => '<br />', "\r" => '<br />', "\n" => '<br />')); 
} 

자세한 사항은 이쪽:http://php.net/nl2br

mysql에 저장하기 위해 텍스트 영역에 있는 동일한 텍스트를 유지하기 위해 이 두 가지 방법을 사용하고 있습니다.또한 시간이 지나면 플레인 텍스트를 표시할 수도 있습니다.

순서 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'));
}

이것은 당신에게 도움이 될 것이다

텍스트 영역 벽을 통과하다

왜 그렇게 쉽게 할 수 있는데 그렇게 어려운 사람들을 힘들게 만드나요:)

//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);

헤더가 필요한 것은 분명하고 필드가 더 많을 것입니다만, 이것이 텍스트 영역입니다.

언급URL : https://stackoverflow.com/questions/5048849/preserve-line-breaks-from-textarea

반응형