为什么我得到 而不是从 AJAX 获取数据的新行


Why do I get instead of a new line getting data from AJAX?

我有一个问题:所以我有一个数据从数据库中出来并存储在文本区域中。当用户更改文本区域中的数据时,内容将发送到javascript,并通过AJAX(POST到PHP脚本)更新数据库。在用户开始添加换行符之前,这工作正常。然后 javascript 将其转换为 ' 个字符,因此它以 ' 的形式存储在数据库中。

我想要的是在我的数据库中有实际的换行符,而不是'换行符。有什么方法可以使用 php 将 ' 替换为实际的换行符(不是 br)?我尝试在使用 char(10) 编辑后更改数据库字段,但由于某种原因,这在脚本中不起作用,除非我在 phpmyadmin 中手动执行此操作?

使用完整的 php 请求进行编辑时,文本区域中的换行符在 mysql 中正确存储为 char(10),而不是 '。

有人知道了吗?

原样存储,但先用real_escape_string转义

real_escape_string将换行符转换为 4 个字符的字符串 ''''r'

$text = $mysqli->real_escape_string($text);

使用[nl2br][1]函数将/n替换为换行符

在字符串中出现换行符 (') 的位置插入换行符:

<?php
echo nl2br("One line.'nAnother line.");
?>

上述代码的浏览器输出将是:

One line.
Another line.