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.