2012-06-27 16 views
11

Potrzebuję wyeksportować dane za pomocą PHP i dla każdej linii dodaję \r\n.PHP echo równoważne CR LF z notatnika

Po otwarciu wyeksportowanego pliku danych, który został pobrany, widzę, że \r\n jest interpretowany jako [LF] w Notatniku.

Ale aplikacja, w której otwieram plik, nie odczytuje [LF] jako nowej linii.

Teraz, jeśli wykonuję [CR] [LF] w notatniku, aplikacja może odczytać [CR] [LF] jako nową linię.

Jak mogę wywołać echo odpowiednika [CR] [LF] z php?

Dzięki.

Odpowiedz

1

Problem rozwiązany: ciąg został przekazany w parametrze POST. Usuwanie \ r.

Po prostu trzeba zrobić str_replace ("\ n", "\ r \ n", $ ...);

21

To tak proste, jak to robi:

echo "\r\n"; 

(zwrócić uwagę na cudzysłów)

+0

PO już to robi, mówi. – netcoder

+2

@netcoder - zapisz moją uwagę na temat podwójnych cytatów ... OP nic nie mówi o tym –

+0

Przepraszam za długi czas odpowiedzi, rzeczywiście już robię "\ r \ n", aw notatniku, kiedy pokazuję znaki specjalne, jest tylko [LF]. Może dlatego, że mój plik używa kodowania ANSI? – troc

3

zrobić echo PHP_EOL; ten sposób będzie ona zawsze poprawne wyświetlanie kombinację zwrotny wysuwu wiersza/karetki, który jest ważny dla systemu jesteś włączony, ponieważ nie wszystkie systemy operacyjne używają tego samego newline convention. (więcej informacji: PHP global constants)

+1

PHP_EOL jest ważne dla systemu, w którym __server__ jest włączony, niekoniecznie dla systemu, który plik jest następnie otwierany na –

+0

To samo. Tylko LF i jeśli otworzę plik w bloku, nie ma skakania. Jak powiedziałem może ze względu na kodowanie? Plik php drukujący \ r \ n jest w ANSI. – troc