riprendendo il codice di marchetto:

Codice PHP:
$test="<img alt=\"ciao\" src=\"immagine01.jpg\">";
$test=preg_replace("/\"/","",$test);
preg_match_all("/(<img)(.*)( src=)(.*)(.jpg|.gif|.png)(.*)/i",$test,$ris);
foreach(
$ris as $val) {
   echo 
"nome immagine: [b]".$val[4]."[/b]
\n"
;
   echo 
"estensione: [b]".$val[5]."[/b]
\n"
;

per sostituire utilizzi la stessa espressione regolare, xò con un'altra funzione:

Codice PHP:
preg_replace("/(<img)(.*)( src=)(.*)(.jpg|.gif|.png)(.*)/i""$1 $2 src=\"tuoIndirizzo\" $6"$test); 
dovrebbe funzionare