繁体   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