如何防止在 html 表单文本区域中附加回车 return 字符?

How to prevent the carriage return character that appends in a html form textarea?

我刚刚在通过第三方 API 设置 WhatsApp 消息服务时在我的 rails3 应用程序中遇到了一个错误。

我在第 3 方门户网站上设置了我的消息模板。现在,当我的客户用消息内容点击 API 时,我遇到了响应:"error | 318 | Message does not match WhatsApp HSM template."

经过彻底的调试,我发现当通过 HTML 提交内容时,消息内容(这是管理员在我的应用程序上的输入)在每个“\n”字符之前附加了一个“\r”字符形式。

但是第3方的内容只有“\n”字符导致不匹配

我需要有关如何避免附加“\r”的帮助。

我读到原因可能是来自不同编码源(如 MS Word)的复制粘贴。我试图用 (Ubuntu) LibreOffice Writer and Text Editor 测试这个理论,但没有用。

但是,如果我使用 rails 控制台更新内容,我会得到想要的结果(没有“\r”追加)

这是我的数据在两种情况下的样子:

通过以html形式输入:(actual) 一些文本 \r\n\r\nFor 更多详细信息,请查看此内容。

通过 rails 控制台:(需要) 一些文本 \n\nFor 更多详细信息,请查看此内容。

看来用 gsub

解决这个问题可能真的很简单

text = text.gsub("\r", '')

你应该知道的是当你在做 \n 或 \r 时你想使用双引号 (") 而不是单引号 (')