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 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | // Função para procura várias palavras em uma string function procpalavras ($frase, $palavras, $resultado = 0) { foreach ( $palavras as $key => $value ) { $pos = strpos($frase, $value); if ($pos !== false) { $resultado = 1; break; } } return $resultado; } // Exemplo 1 - Nenhuma palavra encontrada, retorna zero $frase = "eu tenho uma galinha que se chamava merilu"; $palavras = array ("coelho","cavalo","formiga","cachorro","gato"); echo "Resultado: " . procpalavras($frase, $palavras) . "<br />"; // Exemplo 2 - Uma ou mais palavra encontrada, retorna um $frase = "eu tenho um coelho que se chamava zé"; $palavras = array ("coelho","cavalo","formiga","cachorro","gato"); echo "Resultado: " . procpalavras($frase, $palavras) . "<br />"; |
Gostou? Comenta… Não gostou? Comenta também…
Parece-me interecante, ainda nao tive tempo de experimenta-la
mas tbm estive tentando fazer algo do genro pro meu Web-site(ainda em dznvlvimento).
Assim k tiver resultados mostrovos.
Beleza Dario,
depois manda o link ae! :) Se tiver alguma dúvida ou precisar de algo.. pode contar comigo!
o,eu queria saber como procurar palhavas na uol,alguém sabe como?
Kra, ótima matéria, eu usei este script para descobrir o browser do usuario e a partir dai fazer determinada coisa, fiz algumas poucas adaptações para poder fazer o que eu queria, apesar de ter isto com javascript prefiro fazer com php no meu caso se enquadrou melhor, para quem quizer aki vai como ficou o script.
// Função para procura várias palavras em uma string
function procpalavras ($frase, $palavras, $resultado = 0) {
foreach ( $palavras as $key => $value ) {
$pos = strpos($frase, $value);
if ($pos !== false) { $resultado = 1; break; }
}
return $value;
}
$palavras = array (“Chrome”,”Firefox”,”MSIE”);
$nav = getenv(“HTTP_USER_AGENT”);
echo “Resultado: ” . procpalavras($nav, $palavras) . “”;
Vlw um abraço..