Textdatei mit Leerzeichen f. mySQL Einspielung aufbereiten
Leerzeichen entfernen, in CSV-Format konvertieren um in mySQL-DB ein zu spielen
Hi @ All,
ich hab ein kleines Verständnisproblem, da ich auch ziemlich neu bin in der php-Materie. Ich hoffe jemand kann mir helfen!
Zum Problem:
Ich habe ein Textfile mit Hunderten von Zeilen je mit einer festen Länge von 109 Zeichen.
Die relevanten Daten innerhalb des Files sehen z.B. wie folgt aus:
_-_-_- 01010101 _-_- 12345 _-_- G -_-_-_-_-_-_-_-_-_-_-_-_-_-_ 1234 1234 _-_-_-_-_-_-_ 52 __ 1234
_-_-_ 02020202 __ 56789 _-_-_ I _-_-_-_-_-_-_ 1234 1234567890 __-_-_-_-_-_-_-__ 80 ____ 1234
_-_-_- 03030303 _-_ 00051 _-_ 1234 _-_-_-_-__-_-_-_ 0 _-_-_-_-__ 01234567890 3456 __-_-_-_-_-_-__ 00 ___ 1020
Die Unterstriche& Minus(se) sollen nur die verschiedenen Anzahlen der Leerzeichen verdeutlichen!
Nun mein Problem, mit trim() respektive ltrim() oder rtrim() bekomme ich ja nur die Anfangs-, Links- oder Rechtsbündigen Leerzeichen weg. Wie kann ich denn per Schleife solange die Leerzeichen innerhalb des Strings entfernen bis ich immer nur noch ein Leerzeichen übrig habe, welches ich dann danach durch ein Semikolon ersetze.
Ich muß die Datei quasi mySQL-tauglich machen und das sollte möglichst in naher Zukunft dann mehr oder weniger automatisch ablaufen anstatt die Datei jedesmal in Textpad oder Excel o.ä. zu ziehen und dort auf zu bereiten.
Vielen Dank im Voraus für eure Hilfe und meine Verständnisprobleme bei php.
Greeetz, Sacha0174.
Hi @ All,
ich hab ein kleines Verständnisproblem, da ich auch ziemlich neu bin in der php-Materie. Ich hoffe jemand kann mir helfen!
Zum Problem:
Ich habe ein Textfile mit Hunderten von Zeilen je mit einer festen Länge von 109 Zeichen.
Die relevanten Daten innerhalb des Files sehen z.B. wie folgt aus:
_-_-_- 01010101 _-_- 12345 _-_- G -_-_-_-_-_-_-_-_-_-_-_-_-_-_ 1234 1234 _-_-_-_-_-_-_ 52 __ 1234
_-_-_ 02020202 __ 56789 _-_-_ I _-_-_-_-_-_-_ 1234 1234567890 __-_-_-_-_-_-_-__ 80 ____ 1234
_-_-_- 03030303 _-_ 00051 _-_ 1234 _-_-_-_-__-_-_-_ 0 _-_-_-_-__ 01234567890 3456 __-_-_-_-_-_-__ 00 ___ 1020
Die Unterstriche& Minus(se) sollen nur die verschiedenen Anzahlen der Leerzeichen verdeutlichen!
Nun mein Problem, mit trim() respektive ltrim() oder rtrim() bekomme ich ja nur die Anfangs-, Links- oder Rechtsbündigen Leerzeichen weg. Wie kann ich denn per Schleife solange die Leerzeichen innerhalb des Strings entfernen bis ich immer nur noch ein Leerzeichen übrig habe, welches ich dann danach durch ein Semikolon ersetze.
Ich muß die Datei quasi mySQL-tauglich machen und das sollte möglichst in naher Zukunft dann mehr oder weniger automatisch ablaufen anstatt die Datei jedesmal in Textpad oder Excel o.ä. zu ziehen und dort auf zu bereiten.
Vielen Dank im Voraus für eure Hilfe und meine Verständnisprobleme bei php.
Greeetz, Sacha0174.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 44167
Url: https://administrator.de/contentid/44167
Ausgedruckt am: 22.11.2024 um 08:11 Uhr
6 Kommentare
Neuester Kommentar
Die Unterstriche& Minus(se) sollen nur die verschiedenen Anzahlen der Leerzeichen verdeutlichen!
Sollte man dann nicht erstmal alle _ und - durch Leerzeichen ersetzen? (preg_replace)
Wie kann ich denn per Schleife solange die Leerzeichen innerhalb des Strings entfernen bis ich immer nur
noch ein Leerzeichen übrig habe, welches ich dann danach durch ein Semikolon ersetze.
noch ein Leerzeichen übrig habe, welches ich dann danach durch ein Semikolon ersetze.
Weißt du denn auch, welches Leerzeichen bleiben soll? Es sind ja mehrere vorhanden! Naja, geht evtl. mit substr_replace.
Falls es noch aktuell ist und du selbst noch keine Lösung gefunden hast (war länger nich online)...
Alle _ und - sind von mir nachträglich eingesetzt worden um zu verdeutlichen was ich da meine. In meiner Textdatei sind es ausschliesslich Leerzeichen.
Na, dann hatte ich ja recht: ;)preg_replace("! +!",";",$file_get_contents); ...