Originariamente inviato da garakkio
Allora non devi usare preg_replace, ma preg_match.
Inoltre non devi usare i delimitatori ^ e $
Comunque secondo me fai molto prima a usare un array e un semplice controllo con strpos, come questo:
Codice PHP:
function strpos_arr($haystack, $needle) {
if(!is_array($needle)) $needle = array($needle);
foreach($needle as $what) {
if(($pos = strpos($haystack, $what))!==false) return $pos;
}
return false;
}
Un codice con l'array c'è l'ho già funzionante, ma ho pensato di creare una regex per semplificare l'intercettazione delle parole, mi spiego: con l'array non posso mettere /i
Ecco il mio codice originale
Codice PHP:
$paroleNoGood = array ("mela","pera","pesca","''");
$stringa = $_POST['nome'].' '.$citta.' '.$email.' '.$messaggio;
foreach($paroleNoGood as $parola){
if (stristr($stringa, $parola) !== false){
$errore .= "<span class=\"alert-Guest\">•La parola \"[b]$parola[/b]\" non è ammessa</span>
";
}
}