Probleme mit explode() -- php

Gast #854469
Lesenswert?

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?
Gast #854480
Lesenswert?

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...
(Firma: Druckerei Beste) #854484
Lesenswert?

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
#854510
Lesenswert?

>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
  }

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren