Ho un testo in una stringa e ho delle parole in una tabella del database.
Devo sostituire tutte le parole del testo che sono uguali a quelle che ci sono nel database in link.
Per esempio, nel database c'è la parola "ciao" e il testo è "Ciao, come va?" che diventerà "<a href="link.php?id=1">ciao</a>" ("1" è un valore che c'è in una altro campo della stessa tabella).
Per fare una cosa del genere basterebbe la funzione str_replace, ma i problemi arrivano quando nel testo è già presente un link.
Per esempio, nel database c'è la parola "Italia" e il testo è "W gli <a href="http://it.wikipedia.org/wiki/Actinopterygii_in_Italia">Actinopterygii in Italia</a>!" che non dovrebbe creare il link per la parola "Italia" perché è già inclusa in un link e ce ne è pure una dentro al tag a.
Penso che dovrei utilizzare la funzione preg_replace ma le espressioni regolari non sono il mio forte. Qualcuno mi saprebbe dare una mano?