這可能真的很愚蠢,但我嘗試使用PHP將texarea中的內容保存到MySQL中。通常換行符保存在數據庫中。但突然他們被刪除。PHP從textarea以換行符保存內容
我使用jQuery發送的值與AJAX到PHP,然後我做在PHP:
$var = strip_tags($_POST["var"]);
$db->query("UPDATE table SET var='$var' WHERE id=$id")
不知怎麼換行被丟失的方式,如果我做nl2br的變種,那麼他們被翻譯爲<br/>
,所以$ var包含換行符直到我運行查詢。
更新,添加到奇怪。如果我真的在$ var上運行nl2br,然後用換行符替換br-tags,那麼在更新表之前,一切都很好,發生了什麼?!?
這工作得很好:
$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。 –
使用nl2br。像$ var = nl2br(strip_tags($ _POST [「var」])); –
不,我在數據庫中看不到換行符。如果我在渲染端運行nl2br,那麼沒有出現
-s出現 – johnohod