Ich habe eine Datei die ich einlese. In dieser Datei stehen Pro zeile 3 Informationen. und zwar in der Form: Information_1 Info_2 Info_3 kann ich die Informationen trotzdem mit explode auslesen? Das Problem ist ja dass ich am Anfang viele Leerzeichen hab. Vor Info_2 eine andere Anzahl (die ab Zeile 10 wieder eine andere ist) und vor Info_3 ist die Anzahl nochmal anders. Oder gibt es eine andere Funktion?
Hast du die PHP-Doku zu explode() gelesen?? Es würde mit explode nur funktionieren, wenn du zwischen deinen Infos immer den gleichen Delimiter-String hast. Vesuch dein Glück lieber in einem PHP-Forum...
explode nimmt nur einzelne Trennzeichen. Du kannst die Zeilen mit regulären Ausdrücken zerlegen. So was wie preg_match("([^ ]*)\s+([^ ]*)\s+([^ ]*)", $line, $match); $field1 = $match[1]; $field2 = $match[2]; $field3 = $match[3]; holt dir die drei Werte raus. virtuPIC
>Es würde mit explode nur funktionieren, wenn du zwischen deinen Infos >immer den gleichen Delimiter-String hast. Es sind doch immer gleiche Delimiter vorhanden: Leerzeichen. Wenn man als Delimiter-String das Leerzeichen setzt und nur die Array-Elemente übernimmt, die nicht leer sind bleiben genau 3 Textelemente über.
1 | $test = ' text1 text2 text3'; |
2 | $arr1 = explode(' ',$test); |
3 | |
4 | foreach($arr1 as $value) |
5 | { |
6 | if(!empty($value)) $arr2[] = $value; |
7 | } |
... und natürlich dürfen in der Information keine Leerzeichen vorkommen. Bist du dir überhaupt sicher, dass die Infos durch Leerzeichen getrennt sind und nicht durch Tabulatorzeichen o.ä.?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.