ciao
scusa alex mi sono permesso una piccola aggiunta al tuo script e la posto perche penso che possa interessare anche altri
e questo è l'output
scusa alex mi sono permesso una piccola aggiunta al tuo script e la posto perche penso che possa interessare anche altri
PHP:
<?php
function detectBadWords($text, array $badWords){
$detected = array();
foreach ($badWords as $badWord) {
if (preg_match("/\b{$badWord}/i", $text, $matches)) {
$detected[] = $matches[0];
}
}
if(is_array($detected)){
$filtro="**";
return str_replace($detected,$filtro,$text);
}else{
return $text;
}
//return $detected;
}
//test
$parole = array('mel(a|e)', 'cavalier(e|i)', 'cas(a|e)');
$testo="nel mezzo di camin di Mele mi ritrovai per cavalieri che la caSa era smarrita";
echo "testo originale: $testo<br>";
echo "testo filtrato: ".detectBadWords($testo,$parole)."<br>";
?>
e questo è l'output
testo originale: nel mezzo di camin di Mele mi ritrovai per cavalieri che la caSa era smarrita
testo filtrato: nel mezzo di camin di ** mi ritrovai per ** che la ** era smarrita