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:
Se ad esempio visualizzo la pagina: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;
?>
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?

Rispondi quotando