7.5. Wie kann ich Zeilenumbrüche verarbeiten?Antwort von Johannes FrömterDie sogenannten "Zeilenumbrüche" sind im Prinzip ganz gewöhnliche Bytes wie ein A oder % auch - sie werden erst bei der Anzeige in einem Editor als Zeilenumbrüche dargestellt. Hässlicherweise haben sich für diesen Zweck unterschiedliche Zeichen (Bytes) etabliert: Windows verwendet \r\n, Unix \n und der Mac \r als "neue-Zeile-Zeichen". Dabei gilt: Escape- Hex- ASCII- Abkür- Name/Bedeutung Name/Bedeutung Sequenz Code Code zung englisch deutsch ------- ---- ------ ------ ------------------ -------------- \r 0D 13 CR carriage return Wagenrücklauf \n 0A 10 LF line feed, newline Zeilenvorschub ------- ---- ------ ------ ------------------ -------------- Die Unterscheidung zwischen Wagenrücklauf und Zeilenvorschub rührt von den Zeilendruckern her, bei denen das zwei separate Steuersignale sind. Die Escape-Sequenzen können in PHP direkt in Strings, die zwischen " (Anführungszeichen, double quotes) stehen, sowie in Regulären Ausdrücken verwendet werden. Ebenso kann man dort \x0D, \x0A etc. (hexadezimale Escape-Sequenzen) verwenden. Die ASCII-Codes kann man von der Funktion chr() umwandeln lassen. Empfängt man Daten von unbekannten Clients, sollten verarbeitende Funktionen mit allen Varianten zurecht kommen; eine universelle Funktion zum Ersetzen von Zeilenumbrüchen durch Leerzeichen sieht z. B. so aus: $string = preg_replace('/\r\n|\r|\n/', ' ', $string); |
||
7.5. Wie kann ich Zeilenumbrüche verarbeiten? http://www.php-faq.de/q/q-string-zeilenumbruch.html |
||
Archiv der de.comp.lang.php-FAQ Dies ist eine Archivseite von 2008 und wurde seitdem nicht geändert. Das dclp-FAQ-Team |