Mailinglisten-Archive |
Hallo Mark, > angenommen ich habe das hier: > <wichtig>Hier steht das, was ich haben will</wichtig> > <anfang>Hier steht Text</ende> > <wichtig>Hier steht das, was ich haben will</wichtig> > <anfang>Hier steht nochmal Text</ende> > <wichtig>Hier steht das, was ich haben will</wichtig> > <anfang>Hier steht nochmehr Text</ende> Wenn Du dies alles in einen String haust, dürfte es schwer werden, da eregi() (theoretisch) auf Grund der greedy-Eigenschaft alles vom ersten '<anfang>' (Zeile 2) bis zum letzten '</ende>' (Zeile 6) schluckt (eigentlich müsste eregi() bei Männern sehr geliebt sein - oder ;-) ? ). > Wie kann ich PHP klar machen, daß ich aus obigem Text > _nur_ jeweils die Zeile > <wichtig>Hier steht das, was ich haben will</wichtig> > rausziehen will? > > Ich habe mal so angefangen, dann wird aber nur immer > die erste Zeile gelöscht: > eregi("<anfang>(.*)</ende></dt>", $match, $ergebnis); > $match=eregi_replace("$ergebnis[1]","",$match); > > $match ist mein Ergebnis von fread(). > > Gibt es eine andere (bessere) Möglichkeit? Ich würde das ganze zeilenweise einlesen (ungetestet): while(! feof($deinFileHandle) { $eineZeile=fgets($deinFileHandle, 1024); if eregi("<wichtig>(.*)</wichtig>", $eineZeile, $wichtiges) { $wichtigeZeilen[]=$wichtiges[1]; } } Ciao Laura
php::bar PHP Wiki - Listenarchive