Ho una lunga stringa dove devo cercare una o più stringhe al suo interno.

La stringa che devo cercare non la conosco, però so cosa ci sarà sempre prima e so cosa ci sarà sempre dopo.
Nella pratica devo trovare il nome di immagini dentro una stringa, so che prima del nome troverò ([img]/cartella/) e alla fine (.jpg[/img])

E dunque ho fatto questo script, che funziona, ma... solo se ho un tipo di immagine
non riesco a costruire una con dizione anche per le (.gif">) o anche per le (.png">)


Codice PHP:
<?php 
$stringa 
'bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla 
[b][img]/cartella/[/b]ABC-91530-lg[b].jpg[/img][/b]bla bla bla bla bla bla bla 
bla bla bla bla bla bla bla[b][img]/cartella/[/b]788888[b].jpg[/img][/b] bla bla bla bla'
;

$i 1;
$lun strlen($stringa);
while(
$lun 0){

$pos1 strpos($stringa'<img src="/cartella/') +20//trovo la prima posizione e aggiungo la sua lunghezza
$pos2 strpos($stringa'.jpg">') +4//trovo la seconda posizione e aggiungo la sua lunghezza

$pos3 $pos2 $pos1//Trovo la lunghezza della stringa che voglio

$var[$i] = substr($stringa$pos1$pos3); //Assegno all'array il valore della stringa trovata

// Stampo per controllo
echo $var[$i].'
'
;

$i++;

$stringa substr($stringa$pos2); //Tolgo dalla ricerca la parte del testo già controllato
$lun strlen($stringa); //Assegno la lunghezza residua per il controllo del ciclo
}
?>
Come posso controllare la stringa anche con altri tipi di immagini?

Se avete una soluzione diversa meglio!


Grazie

oaiC