[Dresden-pm] Findeposition merken und Auswerten
Andreas Kunert
akunert at main-rheiner.de
Mon Okt 31 03:52:13 PST 2005
Hallo allerseits,
ich habe heute ein kleines Problem mit dem Suchen und Merken.
Beispiel:
$Text = "Hier steht ein Text mit mehreren BU-Tags, die geparst werden
sollen. <BU_2>Bildunterschrift 2</BU_2> und eine weitere
<BU_2>Bildunterschrift 1</BU_1> und noch ein wenig blabla";
Ich will nun die Tags mit den BU-rausfiltern und mir dabei die Position
merken, wo ich die gefunden habe. Hintergrund ist, dass in einem
weiteren <IMAGES></IMAGES>-Tag die Bildpfade stehen.
Problem dabei ist, dass die Bilder in der Reihenfolge der BU-geparst
werden, die Position der BU-Tags leider nicht immer chronologisch sind.
(Erst BU_1 dann BU_2 ff..)
Momentan parse ich so.
$bu_array = array("BU_1","BU_2" ...);
foreach(@bu_array){
$bu_tag = $_;
# print "suchtag = $suchtag\n";
if($artikel =~ /.*?<$bu_tag>(.*?)<\/$bu_tag>.*?/i) {
$tmptxt = $1;
$bu .= $tmptxt."XXXX";
} else { $tmptxt = ""; }
In tmptxt steht als Ergebnis meiner derzeitigen Parserei $bu =
$bu_1."XXXX".$bu_2 .....
Die Bilder wären aber Bild2,Bild1 in der Reihenfolge..
Gibts eine Möglichkeit, beim Suchen die Position des Treffers zu merken
und danach dann den $bu zusammenzubauen?
Also in der foreach-Schleife zu sagen, die Treffer nach der
Findeposition zusammenzusetzen???
Ich hoffe, ich habe mich verständlich ausgedrückt....
GRuß Andreas