Hallo Rolf,
ok, offenbar sind Chrome und Firefox sich da einig, aber wenn man so durch StackOverflow streift, ist es in anderen Browsern wohl anders (gewesen). Angeblich auch im IE - aber nicht im IE11.
Ja, in vergangenen Zeiten war das Kraut und Rüben. Das ist der Ist-Zustand bereits eine Verbesserung.
Bei LAMP würde ich eigentlich annehmen wollen, dass es aus \r\n einen standardisierten Unix-Linebreak \n macht. Kann ich aber nicht testen.
Ich kann nicht für alle PHP-Versionen sprechen, aber bei allen mir bekannten Versionen bleibt bei einem LAMP-System das CR LF erhalten.
Oder bin ich da gezwungen, die \r manuell zu entfernen falls ich den Text nach Unix-Standards weiterverarbeiten will?
Ja.
D.h. mein PHP Programm kann davon ausgehen, dass es aus einer Textarea \r\n hereinbekommt, […]
Nein. 😉 Du kannst nicht davon ausgehen, denn nicht alle Requests werden von modernen Browsern ausgeführt. Du musst normalisieren. Ich mache das hier im Forum auch:
Enum.reduce(str_changes, changeset, fn key, changeset ->
Ecto.Changeset.update_change(changeset, key, &Regex.replace(~r/\015\012|\015|\012/, &1, "\n"))
end)
und muss das plattformkorrekt in Line Delimiters umsetzen.
Ja.
In der DB speichert man am besten noch \r\n, damit der ausgegebene Text zum eingegebenen passt, und formatiert es nur für externe Dateien um.
Habichdasrichtigverstanden?
Ich handhabe das anders. Ich speichere in der Datenbank immer nur Unix line endings. Wenn notwendig, konvertiere ich dann in das benötigte Format.
Freundliche Grüße,
Christian Kruse