Zeilenumbrüche entfernen beim schreiben in eine Datei

Dark Ranger

Erfahrenes Mitglied
Hi
Ich habe folgendes Problem bei meiner Log Funktion.
Beispiel:
PHP:
$test = "Blabla
            Blubb Blubb Bla
            Test Test Test";

Nun schreibe ich das ganze in eine Datei, aber die ganzen Zeilenumbrüche sind noch vorhanden, habe schon versucht das ganze zu erstezen und alle möglichen Funktionen habe ich drauf angewendet, allerdings hat nichts geholfen.
In der Datei sieht es im moment so aus:
PHP:
15.10.2008 12:52{Trennzeichen}Blabla
                                              Blubb Blubb Bla
                                              Test Test Test

Aber das ganze soll einfach in eine Zeile, da ich es so leichter wieder auseinander nehmen kann und außerdem sieht es auch besser aus.

Irgendwer eine Idee?
 
Hi, ich rate dazu, die Zeilenumbrüche nicht einfach zu entfernen, sondern sie durch ein Leerzeichen zu ersetzen, da es sonst schonmal schwer wird die geschriebenen Daten zu lesen, also etwa so:
PHP:
$data = preg_replace("'\s+'", ' ', $data);
Diese Variante minimiert dann auch die eingefügten Leerzeichen, da jede beliebige Sequenz von Whitespace-Zeichen durch ein einziges Leerzeichen ersetzt wird.
 
Hi Dark Ranger,

wenn ich das richtig sehe werden bei der Version von EvilO Whitespaces (\s+) durch Leerzeichen ersetzt.
Bei Deinem Problem mit den Zeilenumbrüchen dürfte das nicht helfen.

Oder sehe ich das falsch?

Gruß
joschi
 
Hi,

Oder sehe ich das falsch?

Ja, denn auch Zeilenumbrüche sind Whitespace-Character.

@Dark Ranger: Wenn Du tatsächlich auch so viele Leerzeichen in Deinen Strings hast, ist Evil's Lösung die bessere Wahl. Ansonsten entfernt Folgendes die Zeilenumbrüche tadellos:

PHP:
$test = "Blabla
Blubb Blubb Bla
Test Test Test";  
echo str_replace(array("\r\n", "\r", "\n"), ' ', $test);

Da musst Du bei Deinen Versuchen irgendwas falsch gemacht haben.

LG
 
Zurück