forse cosi puo funzionare...
codice:
//cerco un testo in miastringa
preg_match("/src=\"(.*?)\"/", $miastringa, $arrRes);
//se ricordo bene $arrRes[0] contiene tutta la stringa riconosciuta, $arrRes[1] conterrà il testo identificato da (.*?)

str_replace($arrRes[1], $nuovaStringa, $miaStringa);
facci sapere