如何在mySQL数据库中正确存储textarea的换行符?

Dor*_*ork 4 php mysql forms textarea codeigniter

我一直有提交和存储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函数.

Dor*_*ork 7

好的,我找到了答案.我正在使用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);
Run Code Online (Sandbox Code Playgroud)

希望这有助于那里的人.