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

标签 php mysql forms codeigniter textarea

我在提交和存储 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/

相关文章:

php - 在 LIKE 查询中查找 % 字符

php - 使用 jQuery 每 10 秒用 php 数据刷新一个 div

php - 动态生成 mysqli 准备语句的特殊行为

python - python连接mysql数据库

javascript - jQuery 监听所有文本输入变化

php - 一个 HTML 表格中的多个表单

php - 将任何可转换的 utf8 char 音译成 ascii 等价物

mysql - 将 MySQL 结果限制为每个 "Group"中的一个

mysql - 将 mysql 日期转换为 NSDate

html - 如何实现输入注销看起来不像按钮?