PHP:llä toteutettu kirosanasuodatin, jonka voi laittaa sensuroimaan esim. vieraskirjan viestejä.
Funktio siis vaihtaa kirosanat haluttuun muotoon esim. "shit" --> "sh*t". Lisää voi lisätä tarvittaessa.
Suodatus funktio
<?php
///////////////////////////////////////////////////
// //
// Kirosanasuodatin 1.0 //
// //
// Tompz //
// http://koti.mbnet.fi/tompz/ //
// //
// Saa levittää ja muokata vapaasti, kunhan tämä //
// tekstilaatikko säilyy muuttumattomana! //
// //
///////////////////////////////////////////////////
function clean($teksti, $laske = false){
$explicion_search = array( //Etsittävät kirosanat
'/vittu/is',
'/vitu(.*?)/is',
'/pask(.*?)/is',
'/shit(.*?)/is'
);
$explicion_replace = array( //Sensuroidut kirosanat
'v*ttu',
'v*tu$1',
'p*sk$1',
'sh*t$1'
);
$count = 0;
//Lasketaan kirosanojen määrä ja sensuroidaan ne
$teksti = preg_replace($explicion_search, $explicion_replace, $teksti, -1 , $count);
//Jos halutaan vain laskea, palautetaan numero, muuten palautetaan teksti
if ($laske) return $count; else return $teksti;
}
?>Käyttöesimerkki 1
<?php $viesti = "Vittu, mitä paskaa saatana!"; $c = clean($viesti, true); //"true" arvo laskee kirosanojen määrän echo "Viestissä on $c kirosanaa.<br>\n<br>\n"; echo clean($viesti); //Pelkällä tekstillä sensuroi kirosanat ?>
Käyttöesimerkki 2
<?php
function tarkista($teksti){
$c = clean($teksti, true);
if ($c > 1){ //Jos enemmän, kuin 1 kirosanaa, suodatetaan ne
if ($c > 2){ //Jos enemmän, kuin 2 kirosanaa, bannataan käyttäjä
//$teksti = clean($teksti);
$teksti = "BANNED!";
//ban();
}else{
$teksti = clean($teksti);
}
}
return $teksti;
}
?>Aihe on jo aika vanha, joten et voi enää vastata siihen.