Danny: preg_replace_callback-> mehrfach ausführen

Beitrag lesen

Hello again,

was ich nicht so ganz verstehe, ist das Suchmuster:

$pattern = '=^(.*)<a(.*)href="?(\S+)"([^>]*)>(.*)</a>(.*)$=msi';

Bist Du Dir denn im Klaren darüber, was da genau passiert? Ein Denkfehler? Vielleicht durchblicke ich es auch gar nicht, weil ich Dein Problem nicht verstanden habe... 8|

=
  ^          <= Stringanfang
  (.*)       <= wozu diesen Teil Zwischenspeichern?
  <a
    (.*)
    href
      =
      "?
      (\S+)
      "      <= fehlt hier nicht auch ein Fragezeichen?
    ([^>]*)
    >
    (.*)
  </a>
  (.*)       <= und wozu das, es gehört doch nicht mehr zum Link?
  $          <= Stringende

msi

...was ja bedeuten würde, das bei dem ersten gefunden Muster bereits der komplette String maskiert wird. Dadurch kommt doch jetzt immer das gleiche Ergebnis zustande, oder?