이것은 아마도 어리석은 일이지만, 텍사 레아에서 PHP로 MySQL에 콘텐츠를 저장하려고합니다. 일반적으로 개행은 데이터베이스에 보존됩니다. 그러나 갑자기 그들은 제거됩니다. PHP가 개행 문자로 textarea에서 콘텐츠 저장
나는 아약스와 PHP로 값을 보낼 jQuery를 사용하고 난 PHP에서 다음을 수행하십시오.$var = strip_tags($_POST["var"]);
$db->query("UPDATE table SET var='$var' WHERE id=$id")
어떻게 든
줄 바꿈이의 길에 손실 나는 VAR에 nl2br을 할 경우, 그들은 은 <br/>
으로 변환되므로 쿼리를 실행할 때까지 $ var에 개행이 포함됩니다.
업데이트를 추가하면 낯선 것을 추가 할 수 있습니다. 실제로 $ var에 nl2br을 실행 한 다음 테이블을 업데이트하기 전에 br 태그를 개행 문자로 바꾸면 모두 잘되고 있습니다.
이
은 잘 작동 :$var = strip_tags($_POST["var"]);
$var = nl2br($var);
$var = preg_replace('#<br\s*/?>#i', "\n", $var);
$db->query("UPDATE table SET var='$var' WHERE id=$id");
당신을 수행합니다. http://php.net/manual/en/mysqli.real-escape-string.php
는 의미 제거 된 다음 데이터베이스 자체에 줄 바꿈이 있습니까? 렌더링 측에서 nl2br을 사용해야 할 수도 있습니다. –
$ var = nl2br like strip_tags ($ _POST [ "var"])); –
아니요 데이터베이스에 줄 바꿈이 표시되지 않습니다. 렌더링면에서 nl2br을 실행하면
-s가 표시됩니다. – johnohod