Salve a tutti, il mio problema è questo.
Dato un testo vorrei evidenziare al suo interno ogni occorrenza di una data parola.
La prima soluzione che mi è venuta in mente era questa
In questo modo cercando ad esempio "ali" mi vengono prese in considerazioni anche parole come spaziali ovali e così via.Codice PHP:
$text=str_replace ($parola, "<u>".$parola."</u>", $text);
Cercando in questo forum, ho scoperto che sarebbe meglio usare delle espressioni regolari.
Così dopo essermi documentato un po' ho provato a scrivere questo codice.
A prima vista sembra funzionare, soltato che mi stampa a video il seguente risultato:Codice PHP:
$temp="vola sulle ali degli ovali, questa è un'altra prova,ali, ciao ali e ali";
$nome="ali";
$regexp="^".$nome."[^0-9A-Za-z]|[^0-9A-Za-z]".$nome."$|[^0-9A-Za-z]".$nome."[^0-9A-Za-z]";
$temp=eregi_replace($regexp, "<u>".$nome."</u>", $temp);
echo $temp;
vola sulleali degli ovali, questa è un'altra provaali ciaoalieali
Eliminandomi il carattere antecedente e quello precedente all'occorrenza trovata.
Qualcuno sa come ovviare al problema?
ho anche sentito parlare della funzione preg_replace() che dovrebbe essere più veloce..
Qualcuno mi spiega come funziona?