Salve,
ho trovato in giro per internet un semplice script in PHP che volevo adattare alle mie esigenze. Attualmente i termini ricercati.. che vengono passati come parametro sulla variabile " q " vengono ricercati nella variabile " testo " e se vengono trovati, vengono evidenziati in giallo.

Posto il codice:

Codice PHP:
<?
// Creo una variabile con un testo di esempio in cui effettuare la ricerca.
// Normalmente il testo in cui cercare verrà estratto da un DB.
$testo "Questo è un testo di prova";

// Recupero la Query
$q $_GET['q'];

// Splitto la query sulla base del carattere spazio...
// ...e creo l'array $w con tutte le singole parole della query
$w explode(" "$q);

// conto gli elementi dalla array $w
$n_w count($w);

// ciclo l'array per verificare le corrispondenze di ogni singola parola all'interno 
// della variabile $testo
for ($x=0$x<=$n_w$x++)
{
  
$testo str_replace($w[$x], "<span style=\"background: #FFFFBC;\">".$w[$x]."</span>"$testo);
}

// stampo a video
echo $testo;
?>
Se ad esempio visualizzo la pagina:
http://www.nichiweb.com/cercaprova.php?q=Questo

Mi evidenzia la parola "Questo", ma se cerco invece "questo" in minuscolo non me la trova..! Ho già provato ad utilizzare la funzione " str_ireplace " al posto di " str_replace " che è case sensitive, ma quando cerco il termine in minuscolo, ed il testo della mia variabile è maiuscolo, me la cambia!

Come posso risolvere questo problema? Oppure dove posso trovare un altro script per la ricerca che mi permetta di evidenziare i risultati trovati?