2015-11-11 5 views
-1

Я пытаюсь хранить сообщения пользователя из текстового поля в текстовый файл вместе с именем пользователя и датой (хотя теперь игнорирует дату).Удаление новых строк при записи в текстовый файл в php

Позволяет сказать пользователю, по имени Джон, входит следующий текст в текстовое поле:

Hello 
How are you? 

Я хочу текстовый файл, чтобы сохранить это как:

John#Hello\nHow are you? 

Я перепробовал много способов для удаления/замены новой строки из текстового поля, но результат, который я получаю в текстовом файле, всегда выглядит так:

John#Hello 
How are you? 

Я просто не могу заставить его не перейти к следующей строке в файле. Я пробовал искать и не видел, чтобы кто-нибудь имел эту проблему ... поэтому, возможно, я не знаю, что делаю. У кого-нибудь есть решение?

+1

'Джон # Привет \ NHow вы' всегда будет производить новую строку при записи в файл с '\ п? '. Вы запрашиваете сохранение '\ n' в виде двух символов? Если да, используйте одинарные кавычки. Покажите свой код. –

+0

Вам нужен буквальный обратный слэш и 'n' в файле? – Barmar

+1

'$ var =" John # Hello \ nКак вы? ";' Будет хранить новую строку. Do '$ var = 'John # Hello \ nКак вы?';' Будет хранить в виде строкового литерала. Еще труднее дать конкретный ответ, не видя кода. –

ответ

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"

+0

Желаю вам хорошо на этом. Выглядит хорошо, но я боюсь, что OP'll просто вернется и скажет: «Это не работает ...». (Я мог бы ошибаться, хотя) Надеюсь на зеленый тик здесь и что вы не надолго. ;-) –

+0

Спасибо, Бармар, что сработало для меня. Я не знал, что это важно, если я использовал «\ n» или «\ n». – emilkof

+0

Я добавил ссылку на вопрос, который объясняет все различия между одиночными и двойными кавычками. – Barmar

-1

Использования preg_replace("#[\n\r]+#", '\\n', $text);

Смежные вопросы