我遇到了一个小问题,我似乎无法找到解决方法。
我有一个简单的形式与textarea,没什么大不了的。 当我编辑我已经进入数据库的帖子时,问题就出现了。
所以,我检索我的数据库中的varchar字段,默认情况下将其插入到我的表单中。 如果这是我默认获得的:
this is some default text
with a line break
现在,如果我只是保存它而不做任何更改,这就是我在PHP $ _POST变量中得到的:
this is some default text
with a line break
/ n字符似乎自相乘。下次我保存文本时/ n再次相乘,连续给我4 / n,依此类推。
这对我没有任何意义。
步骤1.我使用上面第一个灰色框中提到的内容预填充textarea
步骤2.我提交相同的内容
步骤3.在执行任何其他操作之前,我运行以下代码:
echo '<pre>'. $_POST['content'] .'</pre>'; die;
步骤4.换行符乘以上面的第二个灰色框
答案 0 :(得分:1)
这很容易。
您的应用程序中有一些代码,可以使换行符加倍。找到它并摆脱它。没有大碍。
(如果你不信任我,就像你显然那样,创建一个简单的测试脚本只包含表单而不是其他内容并且看看)
答案 1 :(得分:-1)
狂野猜测:Windows CR LF
换行符。
在Windows中,如果您键入换行符,则它们不仅包含\n
,还包含\r\n
。如果MySQL在插入/更新时隐式将\r
转换为\n
,则可以解释此行为。
首先尝试删除PHP中\r
的任何出现,看看是否有帮助。
答案 2 :(得分:-1)
使用trim
删除换行符