Bom, deu pra entender? ou entendeu sem dar? ;)

O meu problema era o seguinte, tenho um sistema de cadastro p煤blico mas alguns engra莽adinhos gostavam de postar coisas bobas do tipo odeio fulano, ciclano 茅 chato, etc. Ent茫o tinha que filtrar essa string, so que a fun莽茫o do PHP strpos s贸 nos d谩 a op莽茫o de encontrar apenas uma palavra. Solu莽茫o? Criei uma array, depurei chegando cada uma e pronto, se encontrar umas das palavras da array ele me retorna 1, n茫o encontrou retorna 0.

Bom, a fun莽茫o esta abaixo para quem quiser:

  1. // Fun莽茫o para procura v谩rias palavras em uma string
  2. function procpalavras ($frase, $palavras, $resultado = 0) {
  3.       foreach ( $palavras as $key => $value ) {
  4.       $pos = strpos($frase, $value);
  5.       if ($pos !== false) { $resultado = 1; break; }
  6.       }
  7.   return $resultado;
  8. }
  9.  
  10. // Exemplo 1 - Nenhuma palavra encontrada, retorna zero
  11. $frase = "eu tenho uma galinha que se chamava merilu";
  12. $palavras = array ("coelho","cavalo","formiga","cachorro","gato");
  13. echo "Resultado: " . procpalavras($frase, $palavras) . "<br />";
  14.  
  15. // Exemplo 2 - Uma ou mais palavra encontrada, retorna um
  16. $frase = "eu tenho um coelho que se chamava z茅";
  17. $palavras = array ("coelho","cavalo","formiga","cachorro","gato");
  18. echo "Resultado: " . procpalavras($frase, $palavras) . "<br />";

Gostou? Comenta… N茫o gostou? Comenta tamb茅m…