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.