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