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…

março 5th, 2008 at 07:56
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.
março 5th, 2008 at 14:31
Beleza Dario,
depois manda o link ae! :) Se tiver alguma dúvida ou precisar de algo.. pode contar comigo!
maio 29th, 2008 at 20:56
o,eu queria saber como procurar palhavas na uol,alguém sabe como?
dezembro 23rd, 2009 at 17:34
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..
dezembro 19th, 2010 at 11:30
Valeu cara !
Fiz o teste e deu certo !!
Muito obrigado
agosto 5th, 2011 at 06:23
Obrigado!
setembro 22nd, 2011 at 20:27
Boa noite…
Preciso de uma ajuda…
Existe uma maneira de buscar vários registros de uma vez, digitando os códigos em uma textarea?
Ou seja, tenho vários usuários e quero listar os usuários 1, 2, 4, 7… etc
Na textarea teria que ser um em baixo do outro pois estes números serão copiados do Excel
1
2
4
7
Peço uma ajuda e agradeço desde já.
setembro 28th, 2011 at 10:27
Carlos, essa questão é relativamente simples. Use 3 comandos. O primeiro é na hora de receber os valores da textarea, use a função nl2br para colocar o como quebra de linha. Depois use a funcao explode, delimitado pelo para colocar as linhas em uma array. Depois é so usar o foreach para utilizar cada linha recuperada.
outubro 12th, 2011 at 11:55
Meu problema é parecido, mas eu tenho a seguinte situação: O usuário digita uma equação matemática ex:(sin(60 + x1*x2). A função vai calcular como código do php, mas para isso eu preciso converter x1 e x2 em variáveis válidas do php. Como o usuário pode usar qualquer nome para uma variável, eu preciso verificar na equação digitada por ele todas as palavras que não são funções ou palavras reservadas e acrescentar o $ na frente. Para isso eu armazeno essas palavras em um array, mas aí como identificar as variáveis na string?
outubro 24th, 2011 at 12:33
Cristiano, é so usar o $$variavel … assim o $variavel seria o nome da variavel. Entendeu?