Hallo,
eine Frage zum systematischen Vorgehen hätte ich gerne beantwortet. Es geht um folgendes:
Nach dem Parsen eines xml-Dokumentes habe ich html-code in einem String stehen.
Diesen String möchte ich in ein 2-dimensionales Array umwandeln. Der html-code wäre etwas so:
<div id="id1"
<dl>
<dt id="id1_1">EinsEins</dt>
<dd>text</dd>
<dt id="id1_2">EinsZwei</dt>
<dd>text</dd>
</dl>
</div>
<div id="id2"
<dl>
<dt id="id2_1">ZweiEins</dt>
<dd>text</dd>
<dt id="id2_2">ZweiZwei</dt>
<dd>text</dd>
</dl>
</div>
Das soll dann so im Array erscheinen:
array[id1][0] = "<div id="id1" <dl>";
array[id1][1] = "<dt id="id1_1">EinsEins</dt> <dd>text</dd>";
array[id1][2] = "<dt id="id1_2">EinsZwei</dt> <dd>text</dd> </dl></div>";
array[id2][0] = "<div id="id2" <dl>";
array[id2][1] = "<dt id="id2_1">ZweiEins</dt> <dd>text</dd>";
# und so weiter
Im Moment mache ich es etwa so:
mittels preg_replace das Suchmuster id* durch %Trennzeichen id* ersetzen und mit
explode %Trennzeichen in ein array schreiben.
Dann gehe ich mit foreach das array durch und übertrage es in ein zweites, etwa so
mit preg_match id* zurückgeben lassen und dann:$array[id*] = $temp_array[$k];
Dann weiter das Suchmuster id*_* suchen und durch %Trennzeichen id*_* ersetzen und nochmal mit foreach array[id*] am Trennzeichen explodieren lassen (Ziemliche Knallerei, aber ist ja bald Sylvester ;) )
Dann erhielte ich doch ein 2D Array, wie es oben als Beispiel angerissen ist, wenn ich mich nicht irre.
Ich frage mich bloß, ob das so umständlichen sein muss? Ich habe schon versuche in der Parserklasse direkt das 2D Array zu konstruieren, komme damit aber gar nicht klar. Die Parserklasse beruht im
Wesentlichen auf diesem Code. Ich weiss nicht mehr genau was ich Versucht habe, aber mein Problem bestand darin, daß der Arraykey sich nicht hochzählen ließ, sondern immer das gleich Element überschrieben wurde.
Sachdienliche Hinweise nehme ich mir grosser Freude entgegen ;)
netten Tag
^da Powl