Ora l' ho postato:

Codice PHP:
$primo = array('@zypp0','@zypp02');
$secondo = array('<a href="sito.it">@zypp0','@zypp02');
$frase "Ciao @zypp0, ciao @zypp02";

echo 
str_replace($primo$secondo$frase); 
Così verrebbe fuori:

Ciao @zypp0, ciao @zypp02
Mentre vorrei che venisse fuori:

Ciao @zypp0, ciao @zypp02
E ripeto che sono due array con valori a me SCONOSCIUTI.

Per capire meglio il concetto di "zypp0 sostituito e zypp02 no", vengono estratte le parole dopo @ con preg_match_all, poi si cercano nel db, se esistono vengonos ostituiti con l' esempio di zypp0, ovvero URL nickname, se non esistono rimangono invariati.

Ora che ci penso, K.B. dato che le parole stanno negli array, potrei usare la funzione preg_replace in un foreach? Cioè otterrei ciò che desidero?