Magari non sarà il metodo più ottimizzato per la ricerca di una parola all’interno di una stringa. Per la mia necessità questa funzione va bene. Eventualmente se trovassi altri metodi migliori non mancherei di pubblicarli e condividerli. Se poi qualcuno ha idee migliori e le manda mi farebbe felice.
In pratica devo cercare una parola all’interno di una stringa. Quindi cosa faccio? Creo un ciclo che vada a confrontare la parola con le signole parole della stringa in modo da avere un risultato certo. La funzione:
function trova($parola,$descrizione){ // Parola: la parola da cercare | Descrizione: frase in cui cercare $descrizione = preg_replace("/\W/", " ", $descrizione); // elimino caratteri speciali $des_cerca=explode(" ",$descrizione); // esplodo le singole parolo $risultato = count($des_cerca); // conto il totale delle parole esplose @$_ritono = "no"; for($i=0; $i<=$risultato; $i++){ // ciclo per fare controllo if(@$des_cerca[$i]==@$parola){ @$_ritono = "ok"; // se la trovo chiudo ciclo e ritorno l'ok break; } } return $_ritono; }
quindi se ho una frase: oggi è il mio compleanno e spero che qualcuno mi regali il nuovo sigma 18-200 IS per canon e voglio trovare la parola: regali richiamo la mia funzione così:
echo trova($parola,$stringa);
Il risultato, se viene trovato regali sarà OK. Se cerco regalo il risutlato sarà NO.
Utile? Spero di si.