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

时间:2015-11-11 22:16:57

标签: php

我正在尝试将用户消息从textarea存储到文本文件中,以及用户的姓名和日期(尽管我们暂时忽略日期)。

让我们说名为John的用户将以下文本输入textarea:

Hello
How are you?

我希望文本文件将其存储为:

John#Hello\nHow are you?

我尝试过多种方法从textarea中删除/替换换行符,但是我在文本文件中得到的结果总是如下所示:

John#Hello
How are you?

我只是不能让它不去文件的下一行。我试过搜索,没有看到有人遇到这个问题...所以也许我不知道我在做什么。有人有解决方案吗?

2 个答案:

答案 0 :(得分:5)

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

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

What is the difference between single-quoted and double-quoted strings in PHP?

或者,您可以转义反斜杠:"\\n"

答案 1 :(得分:-1)

使用preg_replace("#[\n\r]+#", '\\n', $text);