lovesmith Posted May 8, 2008 Share Posted May 8, 2008 I have a text file "badwords.txt". In each line of this text file, i have a word that should be filtered. All i want is that....when user posts form...i need to check whether they type the words included in badwords.txt. if there is then they will be redirected to the ban page. I have no idea how to do this..any body help please Thanks a ton Link to comment https://forums.phpfreaks.com/topic/104679-solved-help-on-implementing-badword-filter/ Share on other sites More sharing options...
MadTechie Posted May 8, 2008 Share Posted May 8, 2008 erm.. something like this would do it.. <?php $message = "this is my test, of bad words"; $foundBadWord = filter($message); if($foundBadWord) { header("Location: ban.php"); exit; } echo $message; function filter($message) { //Get contents from file $Ban = file_get_contents ("filter.txt"); //Get contents from string(for testing) #$Ban = "tests\ntesting"; //put into a array $BanWords = explode("\n",$Ban); foreach($BanWords as $B) { //check for bad word if (strpos($message,$B)) { //found one return false; } } //none found return true; } ?> but remember the rules that come with header.. also i think just replacing the bad word with ***** would work better! Link to comment https://forums.phpfreaks.com/topic/104679-solved-help-on-implementing-badword-filter/#findComment-535757 Share on other sites More sharing options...
lovesmith Posted May 8, 2008 Author Share Posted May 8, 2008 Thanks dude! Link to comment https://forums.phpfreaks.com/topic/104679-solved-help-on-implementing-badword-filter/#findComment-535770 Share on other sites More sharing options...
MadTechie Posted May 8, 2008 Share Posted May 8, 2008 Oh as a note:~ you might want to change strpos to stripos, (case-insensitive) to make your ban list shorter Link to comment https://forums.phpfreaks.com/topic/104679-solved-help-on-implementing-badword-filter/#findComment-535772 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.