Ciao a tutti.
Dovrei estrapolare una o più email automaticamente da una stronga di testo ed è da ieri che ci sto sbattendo la testa, ma non riesco a saltarci fuori.

Il codice che ho provato a fare è questo:
Codice PHP:
$testo "questo cucciolo è stato trovato x strada nei pressi  di roma. le persone che lo ospitano nn possono tenerlo oltre questo week end, dopodichè nn rimane che il canile.
lui è un maschietto, presumiamo abbia 2 mesi circa, bellissimo, in canile con questo freddo e così piccolo di età difficilmente sopravviverebbe! cerchiamo adozione urgentissima o appoggio temporaneo in attesa di adozione.
lo portiamo anche la nord!
x info adozioni
339/4981956 carmine
3317310768 chiara
x possibili stalli:
[email]prova1@gmail.com[/email]
non per altro, ma non mi sta bene
[email]prova2@gmail.com[/email]"
;

$email stristr($testo"@");
$posemail strpos($testo"@");

$posemail $posemail 1;
while(
$singola != " " and $singola != "\n"){
    
$singola substr($testo$posemail1);
    
$singola2 $singola.$singola2;
    
$posemail $posemail 1;
}
$email str_replace("@""<font color=#FF0000>[b]@[/b]</font>"$email);
echo(
"[b]E-Mail:[/b] $singola2$email");
echo(
"


"
); 
Questo codice, sì, mi trova le @, a tra una mail e un'altra mi risulta fuori la stringa: prova1@gmail.com non per altro, ma non mi sta bene prova2@gmail.com .

Secondo voi come potrei far saltare fuori SOLO gli indirizzi mail e basta per poi metterli in una listbox?

Grazie di cuore