【问题标题】:insert field with cr/lf用 cr/lf 插入字段
【发布时间】:2014-06-18 12:29:49
【问题描述】:

我该如何处理这种情况。

我有一个 mysql 后端,其中包含一个长度为 40 个字符的字段。

我有一个 textarea 表单字段,我已将其设置为 maxlength="40"

我已经实现了一些 jquery 代码,可以在您键入字符时对其进行计数。

当我输入文本时,我可以看到字符计数器下降,显示剩余的字符数。当它达到 0 时,我应该输入了 40 个字符。

问题在于计数器和 textarea maxlength 检查仅将回车/换行视为一个字符。如果我用任何 CR 填充 textarea,然后尝试将文本插入 mysql 它,当然会窒息,因为字符太多。

当我将它写入/读取到数据库时,是否需要进行某种过滤?我不想在插入/更新时仅截断最大字符处的文本。

【问题讨论】:

  • 在发送到服务器之前使用trim
  • Trim 只是从一行的开头和结尾删除空格。我有多个句子的段落,导致问题的多个案例。
  • 在客户端,看看你是否可以让你的 js 计算两个字符作为回车。在服务器上,确保数据通过集合,然后再尝试将其发送到数据库。

标签: php jquery mysql sql


【解决方案1】:

也许只是做一个str_replace("\r\n", "\n", $whatever_variable);。您将保持新行的位置,如果需要,您可以轻松地将其转换回 "\r\n"。

【讨论】:

  • 这似乎是对 str_replace 的一个很好的使用。我已经允许 textarea 字段接受超过最大字符数,但有警告。我的计数器在退格时似乎有问题,所以我还将数据修剪为 DB 字段大小,以确保我没有从 UPDATE 和 INSERT 中得到错误。 substr(str_replace("\r\n","\n",$event_desc),0,40)
猜你喜欢
  • 2011-08-06
  • 2011-01-27
  • 1970-01-01
  • 2011-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-14
相关资源
最近更新 更多