Hi,
preg_replace("!<a href="(.*)">!i","{ersetzen}",$str);
Da dürfte Dir klar sein warum: nach dem '<a href="' wird bis zum letzten '">' der Zeile gesucht und alles dazwischen gematcht.
preg_replace("!<a href="(.*?)">!i","{ersetzen}",$str);
Das Fragezeichen sorgt nur dafür, daß die kürzeste Möglichkeit gefunden wird.
Bei '<a href="bla" target="bla">' ist aber 'bla" target="bla' die kürzeste Möglichkeit.
Es würde genausoviel matchen, wenn da '<a href="bla" target="bla"><img src="blubb" alt="">' stünde.
preg_replace("!<a href="[^"]*">!i","{ersetzen}",$str);
Nach dem '<a href="' beliebig viele Zeichen außer einem ", gefolgt von ">
cu,
Andreas
--
Der Optimist: Das Glas ist halbvoll. - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
Der Optimist: Das Glas ist halbvoll. - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/