Io l'ho scritta basandosi su questo
$articolo= "[img]cartella/nomefile1.jpg[/img]un po' di testo[img]cartella/nomefile2.jpg[/img]";
preg_match_all('/src=\'(.*?)\'/', $articolo, $match);
var_dump($match);
L'ho appena provata e funziona... sei sicuro di racchiudere il contenuto di src tra apici singoli e non doppi?