我遇到了一个问题:所以我有一个数据来自数据库并存储在文本区域中。当用户更改文本区域中的数据时,内容将发送到javascript,并通过AJAX(POST到PHP脚本)更新数据库。这可以正常工作,直到用户开始添加换行符。然后javascript将其转换为\ n字符,因此它将作为\ n。
存储在数据库中我想要的是在我的数据库中有实际的换行符,而不是\ n换行符。有没有什么方法可以使用PHP来替换\ n与实际换行符(不是br)?我尝试使用char(10)编辑后更改数据库字段,但由于某些原因,除非我在phpmyadmin中手动执行此操作,否则这在脚本中不起作用?
使用完整的php请求编辑时,文本区域中的换行符正确存储为mysql中的char(10),而不是\ n。
任何人都有线索?
答案 0 :(得分:0)
按原样存储,但先使用real_escape_string
进行转义 real_escape_string
将换行符转换为4个字符串'\ n \ r'
$text = $mysqli->real_escape_string($text);
答案 1 :(得分:-1)
使用[nl2br][1]
功能将/n
替换为换行符
在字符串中出现换行符(\ n)时插入换行符:
<?php
echo nl2br("One line.\nAnother line.");
?>
上面代码的浏览器输出将是:
One line.
Another line.