Censor bad words with regexp


/ Published in: PHP
Save to your folder(s)

This function uses the power of regexp to check if some bad word are on the text, also offers the posibility to change those word for something else. Examples:\r\n\r\n$texto = \'fuck off!\';\r\nfiltrado($texto); returns true since a bad word has been found on the text\r\nfiltrado($texto, \'[censored]\'); //returns [censored] off!\r\n\r\nAnd because regexp, this will work with something like \"fck off!\". You can see a more detailed example here:\r\nhttp://www.otaku-anime.com/varios/filtro.php -- Example\r\nhttp://www.otaku-anime.com/varios/filtro.php?source -- Source code of the example


Copy this code and paste it in your HTML
  1. <?php
  2. function filtrado($texto, $reemplazo = false)
  3. {
  4. $filtradas = 'fu?ck, shit'; //Define here your words to censor separated by comma (sorry for the badwords, it's just an example)
  5.  
  6. $f = explode(',', $filtradas);
  7. $f = array_map('trim', $f);
  8. $filtro = implode('|', $f);
  9.  
  10. return ($reemplazo) ? preg_replace("#$filtro#i", $reemplazo, $texto) : preg_match("#$filtro#i", $texto) ;
  11. }
  12. ?>

URL: http://osiux.ws/2008/04/29/filtro-de-palabras-en-php/

Report this snippet


Comments

RSS Icon Subscribe to comments

You need to login to post a comment.