我在提交和存储 textarea 内容时遇到了这个问题,对此我一直找不到合适的解决方案。
我有一个表单,带有一个名为“描述”的文本区域。
当我提交包含多行文本的表单时,例如
Line 1
Line 2
Line 3
它以更多的新行存储在 mySQL 数据库中。它变成了:-
Line 1
Line 2
Line 3
当我用 phpmyadmin 检查数据库时。
VARCHAR 和TEXT 类型我都试过了,都是一样的。我需要做什么才能准确存储 textarea 内容?
相关的 codeigniter 行是 aRow[$strField] = strip_tags($this->input->post($strField)); $this->db->insert($this->strTable, $aRow);
$strField 将是我的 textarea 字段,insert 是一个 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);
希望这对外面的人有帮助。
关于php - 如何在 mySQL 数据库中正确存储 textarea 中的换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5241549/