Wagenrücklauf ersetzen
martin
- php
Hallo, in meiner Datenbank stehen in einem field type (text) Memos, die teilweise Aufzählungen enthalten, damit existiert auch ein Wagenrücklauf (kein \n und kein <br>). Da ich die Aufzählungen zusammenfassen möchte, stört der Wagenrücklauf. Wie kann ich ihn entfernen?
Gruß martin
Halihallo martin
Hallo, in meiner Datenbank stehen in einem field type (text) Memos, die teilweise Aufzählungen enthalten, damit existiert auch ein Wagenrücklauf (kein \n und kein <br>). Da ich die Aufzählungen zusammenfassen möchte, stört der Wagenrücklauf. Wie kann ich ihn entfernen?
Was ist denn deiner Meinung nach ein Wagenrücklauf (gut, streng genommen: wagenrücklauf => Cursor an den Anfang der Zeile, neue Linie/Zeile => Cursor eins nach unten)?
Ich nehme mal an, du meinst einfach eine "neue Zeile" und hast nicht beachtet, dass dies von Platform zu Platform anders definiert ist...
Du verwendest http://www.php.net/manual/de/function.eregi-replace.php und ersetzt "\015\012|\015|\012" durch "", fertig.
Viele Grüsse
Philipp
Hallo,
Du verwendest http://www.php.net/manual/de/function.eregi-replace.php und ersetzt "\015\012|\015|\012" durch "", fertig.
Ich würde Dir dringend empfehlen, ein Ersatzzeichen dafür einzusetzen. Es eigent sich besonders der chr(127) für einen Zeilenumbruch im Textfeld. Musst ihn natürlich nacher wieder zurückersetzen, bevor Du das Textfeld wieder anzeigst.
Wenn Du nach "\n" auf einem Linux-Host gesucht hast, dann hast Du leider übersehen, dass es meistens CRLF sind, die in den Dateien drinstehen, da die meisten Texte ja heute von Blindoof-Rechnern kommen. (eigentlich können die ja nur fliegende Bilder...*gg*)
CR = 13d, Carriage Return, Wagenrücklauf
LF = 10d, Linefeed, Zeilenvorschub
Philipp hat Die ja schon Oktalwerde genannt. Dort werden auch erst CRLF, Dann einzelne CR und dan einzelne LF Zeichen ersetzt, bei ihm allerdings durch einen Leerstring, was ich für die Lesbarkeit von Texten nicht für sinnvoll halte. Ein Leerzeichen sollte es schon sein, oder wenn es reversibel sein soll und nur zum Speichern der Texte gedacht ist, eben ein chr(127).
Liebe Grüße aus http://www.braunschweig.de
Tom
Hallo Philipp, hallo Thomas, alle Achtung! Erstens so schnell und zweitens so gut! Klappt wunderbar! Ich hatte schon versucht das Zeichen mit ereg(chr(10),"",$satz) oderereg(chr(13),"",$satz)zu ersetzen. Hat aber leider nicht geklappt! Wie funktioniert denn das mit dieser Zeichenkette von Oktalwerten? Laßt mich bitte nicht dumm sterben!gruß martin
Halihallo martin
Hallo Philipp, hallo Thomas, alle Achtung! Erstens so schnell und zweitens so gut! Klappt wunderbar!
was den nun? - Funktionierts nu oder nich?
Ich hatte schon versucht das Zeichen mit ereg(chr(10),"",$satz) oderereg(chr(13),"",$satz)zu ersetzen. Hat aber leider nicht geklappt!
Yo, denn Zeilenumbrüche können eben 13, 10 oder 10-13 sein. Du deckst nur ersten Fall ab.
Wie funktioniert denn das mit dieser Zeichenkette von Oktalwerten? Laßt mich bitte nicht dumm sterben!
$replaced = eregi_replace( "\015|\012|\015\012", "", $original );
Viele Grüsse
Philipp
Hallo Philipp, Du bist ja ein "Nachtarbeiter".
Klar, hat alles sofort und einwandfrei funktioniert. Ich wollte nur zusätzlich wissen, wann in ereg() Oktalzahlen akzeptiert werden. Habe mir inzwischen einige Seiten über reguläre Ausdrücke runtergeladen, weil ich sowohl im Handbuch als auch in der Befehlsreferenz nichts über die Verwendung von Oktalzahlen gefunden (oder übersehen???) habe. Gruß Martin
Halihallo martin
Hallo Philipp, Du bist ja ein "Nachtarbeiter".
Naja, ich war grad vom Ausgang zurück und hab noch kurz im Büro vorbeigeschaut, da ich die Müdigkeit mit Kaffe bekämpfen wollte ;-)
Klar, hat alles sofort und einwandfrei funktioniert. Ich wollte nur zusätzlich wissen, wann in ereg() Oktalzahlen akzeptiert werden.
Ganz einfach: Immer ;)
Habe mir inzwischen einige Seiten über reguläre Ausdrücke runtergeladen, weil ich sowohl im Handbuch als auch in der Befehlsreferenz nichts über die Verwendung von Oktalzahlen gefunden (oder übersehen???) habe.
? - Ich habe über php.net mit dem Begriff "regular expression" in "online documentation" 735 Dokumente gefunden. Irgendwo sollte das schon drinne stehen ;)
Zudem ist das nicht RegularExpression spezifisch, sondern eine allgemeine Syntax, wie man Zeichen kodieren/escapen kann, wie eben chr, nur mit einer anderen Syntax (obwohl chr eine Funktion, das Escape-Zeug ein Markup ist).
Viele Grüsse
Philipp