Evidenziare automaticamente testi in php - Effetto evidenziatore
Quando si fanno delle ricerche su un database con una parola (o una frase) può essere utile evidenziare il risultato utilizzando un effetto tipo evidenziatore.
Se nella frase "ciao mondo sul mappamondo" vogliamo cercare la parola mondo, il risultato che si vuole ottenere è il seguente ciao mondo sul mappamondo
La funzione evidenzia che verrà descritta consentirà, in base a un parametro di mettere in maiuscolo il primo carattere o tutta la frase prima di fare la ricerca nel testo
funzione evidenzia(<testo da evidenziare>,<frase da cercare>),[<maiuscolare>])
| <testo da evidenziare> | è il testo su cui viene fatta la ricerca |
| <frase da cercare> | è la parola (o frase) che verrà cercata |
| <maiuscolare> | è opzionale. Può avere i valori |
Funzione
function evidenzia($stringa, $parola, $Tipo='Mm') {
if ($Tipo=='Mm') {$cercaParola=ucfirst($parola); }
else if ($Tipo=='MM') {$cercaParola=strtoupper($parola); }
else {$cercaParola=$parola;}
$nuovaparola = "<span style='background-color: #FFFF99'>".$cercaParola.'</span>';
return(str_replace($cercaParola,$nuovaparola,$stringa));
}
L'evidenziazione è ottenuta utilizzando <span style='background-color: #FFFF99'> che crea uno sfondo di colore esempio
Esempi
| codice | risultato |
| <?php echo evidenzia("ciao mondo sul mappamondo","mondo"); ?> | ciao mondo sul mappamondo |
| <?php echo evidenzia("ciao Mondo sul mappamondo","Mondo","Mm"); ?> | ciao Mondo sul mappamondo |
| <?php echo evidenzia("ciao MONDO sul mappamondo","MONDO","MM"); ?> | ciao MONDO sul mappamondo |










