Mam zgłoszenie do mojej bazy danych na stronie internetowej, która działa poprawnie. Ale kiedy generuję plik CSV (za pośrednictwem PHP) z mojej bazy danych, wszystkie podziały linii będą zepsuć wynikowy plik CSV. Każdy czytnik CSV interpretuje podział wiersza z danych wejściowych w nowej linii.Jak mogę usunąć wszystkie podziały wierszy, aby wygenerować prawidłowy plik CSV?
Próbowałem następujące metody:
Encapsulating pól w cudzysłowach.
to:
$field = str_replace(array('\n', '\r', '\r\n', '\n\r'), ',', $original_field);
Również w tym:
$field = strip_tags(nl2br($original_field));
Łącząc wszystkie podejścia powyżej.
W każdym razie końcowym rezultatem będzie nadal popsuty plik CSV, który ulegnie przerwaniu w przypadku każdej przerwy w linii wprowadzonej przez użytkownika. Udało mi się zablokować nowe podziały wierszy w obszarze tekstowym, ale istnieje wiele starszych zgłoszeń, które wymagają mi poprawienia tego również po stronie CSV.
Dlaczego to nie działa? Jak mogę rozwiązać ten problem?
Jak się tworzenie CSV? –
Czy Twoje wpisy w bazie danych są już w formacie CSV? –
Nie. Generuję za pomocą fwrite. Ale po przeczytaniu odpowiedzi mogę ponownie przemyśleć i wygenerować za pomocą putcsv. –