Zeilenumbruch als lesbarer String in Textdatei

27apricot

Erfahrenes Mitglied
Hallo,

ich arbeite gerade an einem PHP-Script, dass dynamisch eine Textdatei ausgibt. Nun möchte ich gern das Zeichen für den Zeilenumbruch »\n« mit ausgeben.

Beispiel
PHP:
echo "textbla\ntextbla";
soll in der Textdatei auch genau so aussehen:
Code:
textbla\ntextbla
und nicht so:
Code:
textbla
textbla

Gibt es dafür eine Möglichkeit?

Danke schonmal im Voraus für die Bemühungen.

Schöne Grüße,
27apricot
 
Hab’ gerade selbst eine Lösung gefunden, bei der ich jedoch nicht wirklich verstehe, warum sie funktioniert:

Ich ersetze mit folgender Regex-Funktion die Zeilenumbrüche durch Zeilenumbrüche (sic!):
PHP:
function text_write_nl($text) {
	$suchen = array(
		'~\r~',
		'~\n~',
	);
	$ersetzen = array(
		'\r',
		'\n',
	);
	return preg_replace($suchen, $ersetzen, $text);
}

Wie gesagt: es funktioniert auch wenn ich keine Ahnung habe, warum ;-)

Vielleicht weiß jemand noch etwas besseres. Vor allem ist es im Moment wohl nicht betriebssystem-unabhängig. Es geht nämlich um icalendar-Dateien. Wenn ich nun \r und \n an eine Zeile anhänge, zeigt iCal auf dem Mac zwei Zeilenumbrüche an.

Schöne Grüße,
27apricot
 
Nach einer einfachen Zeichenersetzung sehen sie so aus wie du wünschst ,)

PHP:
str_replace("\n","\\n",$string)


Edit: huch da wurde man doch länger angelenkt als man dachte xD

Aber gegen die doppelten Zeilenumbrüche würde ich mal testen die \r ganz drausen zu lasen.
 
Zuletzt bearbeitet:
Hej, danke für die Antworten. Das hatte ich allerdings vorher auch schon versucht: einem \n einfach noch einen Backslash »davor zu setzen«, das funktioniert aber nicht (oder ich mach’ was falsch, hmm).

Schöne Grüße,
27apricot.
 
Zurück