Auslesen aus .txt datei mit 'tab', 'space' und ','

Jin

Grünschnabel
Hallo zusammen

Ich hab folgendes problem, ich muss aus ner text datei Linie für Linie auslesen, das is ja eigentlich kein problem mit explode(), aber da die datei 'tab', 'space' und ',' enthält komm ich nicht weiter ...

Ich hoffe jemand kann mir dabei helfen

Danke!

JiN
 
Inwiefern kommst du nicht weiter... beim Auslesen einer Zeile ist es doch Wurscht, was da drinnen steht.
Statt zu explode()'n kannst du die Datei auch per file() in einen Array laden.
 
Hier ein beispiel einer Zeile:
Code:
141313	2004001,0	Blabla	0,1,1	0,0,900 40,40,11,11
(und so weiter)

Das problem ist, das es wie schon gesagt, net nur kommas enthält, deshalb kann ich das auch net ausgeben X_X


Probiert hab ich

Code:
<?php
$datei = fopen("blabla.txt", "r") ;
while (!feof($datei)) {
 $zeile = fgets($datei, 51200) ;
 $data = explode(",", $zeile);
 
 echo '<table width="1" height="1" border="1" cellpadding="0" cellspacing="0" bordercolor="#3399FF"><tr> 
    <td width="1" height="1" bgcolor="#3399FF"><strong>Name: </strong>'. $data[4].'</td>
  </tr>
</table>
<br>';
}
?>

Is schon klar, geht net, ich hab einfach keine Ahnung wie das gehn sollte X_X
 
Zuletzt bearbeitet:
ahso...du willst innerhalb der Zeile splitten, anhand von Komma oder Whitespaces.... dafür gibts preg_split()

Code:
$data = preg_split("/[\s,]+/", $zeile);
es wird anhand eines regulären Ausdrucks gesplittet...hier eine Zeichenklasse, welche Kommas und Whitespaces enthält(beliebig oft wiederholt)
 
Vielen dank, das geht!

Trozdem noch ein problem, wie kann ich es nach der grösse von z.B. $data[10] anordnen?
 
Das sollte mit [phpf]usort[/phpf] und [phpf]count[/phpf] bzw. [phpf]strlen[/phpf] bzw. [phpf]sizeof[/phpf] in Deiner Vergleichsfunktion möglich sein.
 
Könnt ich da bitte mal n beispiel haben?


Ausserdem hab ich nun das problem, das wenn in einer zeile ein Namen ne lücke (bsp: Test Name) enthält, alles falsch ausgelesen wird X_X


danke!
 
Wenn in den Zeilen nur 1 Name(Zeichenkette/n mit Buchstaben) vorkommt, könntest du den Namen vor dem Splitten herausschnippeln... ansonsten wirds schwer...
es gibt derzeit keine PHP-Funktion rate_den_namen().
 
Jin hat gesagt.:
Könnt ich da bitte mal n beispiel haben?
Ja, auf der Seite von [phpf]usort[/phpf] steht ein Beispiel. Die cmp-Funktion musst Du dann unter Verwendung einer der anderen genannten Funktionen für Deinen Fall anpassen.

Gruß hpvw
 
Zurück