FICHTL: (PHP) alle verlinken bilder mit regulärem ausdruck finden

einen wunderschönen guten morgen
dem forum und seinen insassen

also ich möchte eine html-seite nach verlinkten bildern durchsuchen also:
<a href="hui.jpg"><img src="hui.gif"></a>

und ich komm einfach nicht mehr weiter. zuerst der letzte stand:
preg_match_all("/(<a [^<]+>)(.*)(</a>)/s",$strPageCont,$matches, PREG_SET_ORDER);

obenstehende funktion durchsucht einen string der die gesamte html-seite enthält
gefunden wird zur zeit vom ersten "<a " bis zum letzten "</a>" ich möchte aber
vom ersten "<a " bis zum ERSTEN "</a>" und so weiter. wie geht das?

i blick überhaupt nicht durch bei diesen regulären ausdrücken

danke und schöne grüße
FICHTL

  1. einen wunderschönen guten morgen

    Moin,

    und ich komm einfach nicht mehr weiter. zuerst der letzte stand:
    preg_match_all("/(<a [^<]+>)(.*)(</a>)/s",$strPageCont,$matches, PREG_SET_ORDER);

    Auf die Gefahr, mit neu gelerntem (Perl)Wissen gleich auf den Bauch zu fallen : (.*?) sollte es bringen. Das Fragezeichen bändigt den Hunger des Punktes und deckt nur minimal ab

    Viele Grüße

    Swen

    1. mahlzeit!

      danke das war genau das was mir gefehlt hat...
      ich bin jetzt schon ein bischen weiter, steh aber schon wieder an...

      jetzt schaut der ausdruck so aus und funktioniert eigentlich ganz gut:
      /(<a )(.*?)(href="?)(.*?)( |")(.*?)(src="?)(.*?)( |")(.*?)(</a>)/si

      wichtig ist für mich das zweite (.*?) wo der URL drinsteht jetzt
      wäre es schön wenn ich gleich wüßte ob auf ein bild (gif|jpg) verwiesen wird.

      und so hab ichs versucht:
      (.*?(gif|jpg)) oder (.*?)(gif|jpg) oder (.*?gif|jpg) und mit fragezeichen
      dahinter oder plus oder oder, aber anscheinend hab ich das richtige nicht
      gefunden denn entweder er findet nichts mehr oder er finden "htm" oder nur
      jpg irgendwas hab ich da wieder nicht begriffen...

      vielleicht hilft da ja wieder das gute neue perl wissen...

      bis dann..
      FICHTL