在php中写入文本文件时删除换行符

在php中写入文本文件时删除换行符,php,Php,我正在尝试将来自文本区域的用户消息以及用户名和日期存储到一个文本文件中(尽管现在让我们忽略日期) 假设名为John的用户在textarea中输入以下文本: Hello How are you? 我希望文本文件将其存储为: John#Hello\nHow are you? 我尝试了多种方法从文本区域删除/替换换行符,但在文本文件中得到的结果总是如下所示: John#Hello How are you? 我就是不能让它不转到文件的下一行。我尝试过搜索,但没有看到任何人有这个问题…所以也许我不知

我正在尝试将来自文本区域的用户消息以及用户名和日期存储到一个文本文件中(尽管现在让我们忽略日期)

假设名为John的用户在textarea中输入以下文本:

Hello
How are you?
我希望文本文件将其存储为:

John#Hello\nHow are you?
我尝试了多种方法从文本区域删除/替换换行符,但在文本文件中得到的结果总是如下所示:

John#Hello
How are you?

我就是不能让它不转到文件的下一行。我尝试过搜索,但没有看到任何人有这个问题…所以也许我不知道我在做什么。有人有解决方案吗?

使用
preg#u replace(“#[\n\r]+#“,'\\n',$text”)

若要用文字
\n
替换换行符,请使用
str\u replace
并将
\n
放在单引号中,这样就不会将其解释为转义序列

$text = str_replace("\n", '\n', $text);
file_put_contents("filename.txt", "$username#$text");


或者,您也可以跳过反斜杠:
“\\n”
John#您好\n您是谁?
在使用
\n
写入文件时,总会产生一行新行。您是否要求将
\n
存储为2个字符?如果是,请使用单引号。显示您的代码。是否要在文件中使用反斜杠和
n
$var=“John#您好\n您好?”将存储新行。Do
$var='John#你好\n你好吗?'将存储为字符串文本。在没有看到代码的情况下给出一个具体的答案就更难了。祝你在这个问题上一切顺利。我觉得不错,但我担心OP会回来说“它不起作用……”。(虽然我可能错了)希望这里有一个绿色的记号,而你不会有很长的路要走谢谢Barmar,这对我很有用。我不知道使用“\n”或“\n”有什么关系。我添加了一个问题的链接,解释了单引号和双引号字符串之间的所有差异。