PHP / MYSQL用换行符替换n

时间:2015-01-06 17:25:32

标签: php mysql newline

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

存储在数据库中

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

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

任何人都有线索?

2 个答案:

答案 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.