簡體   English   中英

如何在mySQL數據庫中正確存儲textarea的換行符?

[英]How do I store line-breaks from textarea properly in mySQL database?

我一直有提交和存儲textarea內容的問題,我一直無法找到合適的解決方案。

我有一個表單,帶有textarea字段,稱為“描述”。

當我提交帶有多行文字的表格時,如

第1行
第2行

第3行

它存儲在mySQL數據庫中,包含更多新行。 它成為了 :-

第1行

第2行


第3行

當我用phpmyadmin檢查數據庫時。

我已經嘗試過VARCHAR和TEXT類型,它們都是一樣的。 我需要做些什么來准確存儲textarea內容?

相關的codeigniter行是aRow [$ strField] = strip_tags($ this-> input-> post($ strField)); $ this-> db-> insert($ this-> strTable,$ aRow);

$ strField將是我的textarea字段,插入是CI函數。

好的,我找到了答案。 我正在使用CI 2.0,這是一個已經報告的現有錯誤。 https://bitbucket.org/ellislab/codeigniter/issue/332/newlines-in-textareas-are-duplicated

快速修復如下(在/system/core/Input.php中查找文件)

//$str = str_replace(array( "\r\n", "\r"), PHP_EOL, $str);
$str = preg_replace('/(?:\r\n|[\r\n])/', PHP_EOL, $str);

希望這有助於那里的人。

似乎在每個新行之后添加換行符。 這與數據如何插入數據庫有關。 小心分享那段代碼?

嘗試在數據庫中使用\\ n並在顯示記錄時使用nl2br()

更多

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM