Pues en vez de usar preg_match usa preg_match_all eso busca todas las veces que sale <img .... /> Tambien te sugiero que leas este pdf de expresiones regulares para que puedas crearlo como tu quieres
http://oreilly.com/catalog/regexppr/chapter/part1B.pdf
o
http://www.forosdelweb.com/f18/aport...s-pcre-646110/
Pero con esa expresion regular puedes hacer lo que estas pidiendo. Te sugiero que crees un if para verificar y luego unas todos los texto antes y despues de esa imagen