Zeilenümbruche entfernen

mrsunshine

Erfahrenes Mitglied
Hallo, ich hab ein Problem:
ich lese eine Datei mit file() ein, dann will aber die Zeilenumbrüche entfernen. Das geht weder mit str_replace noch sonnst irgendwie. Kann mir jemand helfen?
MfG
mr.sunshine
 
Also du liest eine datei mit file zeilenweise in ein array ein...
$zeilen=file($datei);

dann hast du jede zeile einzeln in einem arrayfeld gespeichert.

jetzt kannst du die Zeilenumbrüche mit der funktion nl2br(); in <br /> tags umwandeln und die kannst du dann ja prinzipiell mit str_replace wegbekommen....

2b
 
Natürlich kann man mit str_replace() Zeilenumbrüche entfernen, warum auch nicht? Dein Fehler war wahrscheinlich, dass du nach "\n" suchst. Richtig wäre aber (zumindest auf Win32-Systemen) "\r\n". Alternativ kannst du auch chop() anwenden.


reima
 
Super danke,...
Das klingt auch einleuchtend:
Wenn ich nach \n suche wird auch nur das \n gefunden. das \r bleibt erhalten und dient weiter zum Zeilenumbruch
THX!!!
 
Hallo, hatte grade das selbe Problem und bin mit der SUchfunktion hierauf gestossen!

chop() ist doch dafuer ungeeigent oder? laut der php.net entfernt chop() alle whitespaces.. also newline tabs und blanks.. oder täusch ich mich ?

mit
PHP:
str_replace("\r\n","",$string)
hats jedenfalls funktioniert :)

Danke

Gruß
Frank
 
Das Problem liegt darin das du sowohl \r\n als auch \n ersetzen musst. Das liegt an der Unterschiedlichen Formatierung unter UNIX, Windows und Mac.. ich weiß nimmer wo was war, aber auf jedenfall verwendet ein System nur Zeilenumbruch, das andere Zeilenumbruch und Zeilenvorschub und das letzte *grübel*.. andersrum.. weiß nimmer genau..
Wenn du ein System haben willst das auf Windows und UNIX/Linux-Servern läuft musst du auf jedenfall beides ersetzen.

MfG Dominik ;)

edit: ums einfacher zu machen... einfach \r und \n einzeln ersetzen :)
 
Zurück