Rieccomi, avevo abbandonato questo codice per fare altro, ora mi ritrovo così

Codice PHP:

$testo
="@Pinco e @Pallino sono andati da @Sempronio, @Caio e @Tizio. Ciao @Pinco";

$nominativo "Pinco";

if (
preg_match_all("/\@(.+?) /"$testo$nome)) {        
foreach (
$nome[1] as $n){       
if (
$n==$nominativo) {          
$msg preg_replace('/\@'.$n.' /''<span class="giallo">'.$n.'</span> '$msg);             
}else {        
$msg preg_replace('/\@/'''$msg); 
}  
 }           

Praticamente dovrebbe aggiungere alla variabile $nominativo la classe css, funziona solo SE la variabile $nominativo viene trovata per prima.

Per capirci se $nominativo è "Pinco", e $testo è "Ciao @Pinco e @Pallino", funziona.
Se $nominativo fosse "Pallino", non funzionerebbe perchè "si ferma" a @Pinco.

In pratica non mi scorre tutto l'array di preg_match_all

Non so se mi sono spiegata, spero di si.