Kannst du mal kurz beschreiben, was passiert? Mir fällt es etwas schwer, das so nachzuvollziehen.
Ansonsten:
- Wozu ist $patters[] = '#<img(.*?)src="(.*?)"(.*?)/>#ms';
? Sehe nicht, dass das irgendwo noch mal verwendet würde.
- Müsste es nicht heißen $matches[$i][1]
statt $matches[1][$i]
? (bin mir da selbst gerade nicht sicher)
[edit]
Ach jetzt kapier ich, was du mit deinem Code zu erreichen versuchst. Du kannst dir das
preg_match_all
einfach sparen.
preg_replace
ersetzt per default
alle Vorkommnisse des gesuchten Musters.
[/edit]