Olisiko mitään järkevämpää tapaa toteuttaa, ilman tietokantaa kirosana filtteriä. Kasvaa nimittäin tällä tapaa tuo letka aika pitkäksi. Onko esim valtiima taulukoita ja mitan kannataisi suodattaa sanat. esim. ViTtU jne..
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title></title> </head> <body> <form name="suodatin" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> <?php $filtteri = array("Saatana","saatana","saatanan","Saatanan", "Vittu","vittu","vitun","Vitun", "Perkele","perkele","Perkeleen","perkeleen"); $tulos = str_replace($filtteri, "**", "$_REQUEST[teksti]"); ?> <textarea name="teksti" colspan="15"></textarea> <input type="submit" value="Suodata -->"> <textarea name="teksti_2" colspan="15"><?php echo $tulos; ?></textarea> </body> </form> </html>
Eikö erillinen (php|txt)-tiedosto käy?
Kannattaa myös huomata, että käyttämällä str_ireplace()-funktiota str_replacen sijaan saa tehtyä ei-kokoherkän korvauksen. Ei siis tarvitse luetella isoja ja pieniä kirjaimia sisältäviä kirosanoja erikseen.
Erillinen php|txt tidosto käy kyllä hyvin. Tuo str_ireplace oli ihan uusi mukava yllätys ja taidan ottaa sen avukseni.
Hei,
Tässä muuten kävelee vastaan ongelma sovittu = so****. Miten tämänlaiset ongelmat voisi ohittaa.
Teoriassa esimerkiksi säännöllisillä lausekkeilla ja sanavälin tunnistuksella, katso opasta aiheesta. Todellisuudessa kuitenkin lopputulos on vain astetta parempi. Onhan kiroilu aivan yhtä vahvaa, vaikka edessä olisikin ylimääräinen merkki, jos "oleellinen osa" sanasta on kirjoitettu isolla.
Aihe on jo aika vanha, joten et voi enää vastata siihen.