ciao a tutti, ho un motore di ricerca interno al mio DB (non fatto da me...) a cui devo fare un'aggiunta, prima vi incollo il codice che usa con i commenti poi sotto la mia esigenza. Un mega grazie in anticipo a chi mi aiuterà, ecco il codice attuale:
# la variabile cerca è quella che viene scritta dall'utente, all'inizio viene ottimizzata
if ($cerca)
{
# normalizzo mettendo al posto delle virgole gli spazi
$cerca = str_replace(",", " ",$cerca);
# uno o piu spazi diventano uno spazio solo
$cerca = preg_replace('|\s\s+|', ' ', $cerca);
# array di termini da cercare
$keys = explode(" ",$cerca);
$do_log = true;
foreach ($keys as $parola)
{
# se non vuota
if ($parola)
{
# trasformare le parole maiuscole in minuscole
$parola = strtolower($parola);
# per default la parola è buona
$do = true;
$length = strlen($parola);
}
# non considerare parole più lunghe di 25 lettere
elseif ($length >= 25)
{
$do = false;
$do_log = false;
}
# non considerare parole più lunghe di 4 lettere formate da sole consonanti
elseif ($length >= 5)
# è buona la metto newlla where
if ($do)
e poi qui sotto parte la query ecc ecc
Io ho bisogno di inserire nel punto giusto un array che mi TRASFORMI su mia indicazione certe frasi errate scritte dagli utenti in un termine che il mio db capisce, del tipo (lo scrivo qua sotto alla cazzo ma in modo che si capisca)
array(
#se l'utente scrive
'zac e cody sul ponte di comando'
#trasforma la ricerca in
=> 'cody',
#se l'utente scrive
'i personaggi di vattelapesca in bicicletta'
#trasforma la ricerca in
=> 'vattelapesca'
);
come lo devo impostare?
dove lo devo inserire?
(ho già fatto vari esperimenti, tutti falliti...)