von MCBurner |
Ne - mit dem Vorschlag komm ich irgendwie überhaupt nicht klar.
Ich bleib mal bei meinem bisherigen Code und versuch mich an den Expressions. Hat jemand ne Idee wie die in meinem Fall aussehen müssten? Oder gibts irgendwo ne schöne Doku dafür? |
von languitar |
Naja, also rekursive Expressions sind nicht gerade der Hit  |
von MCBurner |
öhm ich sach einfach erstmal danke. Dann muss ich halt wieder ein paar Sachen über PHP in Erfahrung bringen. Ich hatte schon erwähnt das ich noob bin oder? 
Warum macht es denn mehr Sinn den Vorgang des Auslesen zu ändern? Ist es tatsächlich schwerer die passenden "Expressions" für die vorliegende Datei zu finden.
Ich probiers mal. |
von languitar |
Erst mal benutz doch bitte nächstes Mal den [ code ]-Tag. Das macht es übersichtlicher hier.
Also ich würde die Datei schon mal anders einlesen. file_get_contents() gibt dir ein Array mit jeder Zeile der Datei wieder. Wenn alle Datensätze gleich lang sind (also die gleiche Anzahl an Variablen haben), dann könntest du das Array einfach mit foreach durchgehen, jedes x-te Zeile als Index für ein neues Array nehmen (also die Zahle in den eckigen Klammern) und die folgenden Zeilen mit relativ eifnachen Expressions auseinandernehmen und dort anfügen. So erhältst du dann ein Array in folgender Form:
1:
2:
3:
4:
5:
6: | $array[1][var1] = 'Wert1_1';
$array[1][var2] = 'Wert1_2';
$array[1][var3] = 'Wert1_3';
$array[2][var1] = 'Wert2_1';
$array[2][var2] = 'Wert2_2';
.... |
So sollte dann die Ausgabe nachher auch viel einfacher funktionieren. |
von MCBurner |
Zudem hab ich schon ein kleines logisches Problem beim Auslesen der Quelldatei. Das PHP Script macht die Trennung ab dem ersten gefundenen "[". Das ist aber nicht ganz korrekt.
Es gibt einen Initialisierungswert in der Quelldatei, der auch mit "[" anfängt. Die Werte die danach bis zum nächsten "[" ausgelesen werden, brauche ich aber nicht. Ich müsste also dem PHP Script auch noch mitgeben, das er den ersten Treffer weglässt. Daran bastel ich grade.
Is mehr probieren als studieren! Schande auf mein Haupt.  |