ciao

ho creato una piccola funzione che mi permette di scansionare un testo, riconoscervi alcune parole chiave, contenute in un database, e rimaneggiarle in modo da renderle dei collegamenti ipertestuali. il tutto funziona bene. Unico problema, se una parola chiave è parte di una parola più grande, questa viene comunque fatta diventare un link.

Esempio:
la mia parola chiave è "control".
se nel testo ho la parola "controllare", che non è evidentemente parola chiave, il parser legge comunque la parola "control" e mi modifica il testo rendendo solo quella parte un collegamento così:
controllare

ora, io vorrei che il parser non modifichi una parola a meno che non sia esattamente quella, e non faccia parte di altre parole più lunghe, cioè solo "control" e non "controllare"

scrivo di seguito la funzione:

Codice PHP:
// Funzione modifica testo
function scan_text($value="",$tab_key)
{
   
$keywords safe_query("SELECT * FROM $tab_key");
   if (
mysql_num_rows($keywords)){
      while(
$key mysql_fetch_array($keywords)){
        
$indirizzo $key['indirizzo'];
        
$key str_ireplace("_"," ",$key['keyword']);
    
        
// NUCLEO DEL PARSER
        
$value eregi_replace($key,"<a href=\"index.php?action=".strtolower($indirizzo)."\">".$key."</a>",$value);
      }
   }
   return 
$value;

grazie
Mano