Anakin, ti ringrazio per avermi indicato quel "\b", ma preferisco comunque usare [^A-Za-z] (ho tolto i numeri).
Ok, la regex sembra funzionare bene nella query sql (tranne se cerco lettere singole: in quel caso trova dei risultati senza che ci sia corrispondenza: che sarà mai?)
Rimane aperta l'altra domanda: come faccio a dire a preg_replace che deve rimpiazzarmi solo la parola, e non quello che le sta attorno? Questo un esempio tratto dalla mia ultima risposta:
Codice PHP:
$stringa = "ciao questa è una parola; seguita dai due punti";
$parola = "parola";
$regex = "/[^A-Za-z0-9]".$parola."[^A-Za-z0-9]/i";
$substitution = "[b] ".$parola." [/b]";
preg_replace($regex, $substitution, $stringa);
//il risultato è
//ciao questa è una[b]parola[/b]seguida dai due punti
//ha eliminato lo SPAZIO prima di "parola" e i due punti dopo
vorrei un risultato così: "... è una parola; seguita da..."
dove sbaglio?