Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Seguinte galéra to montando um filtro contra palavroes.....só que eu faço de um geito que o codigo ficaria enorme....Entao gostaria de saber um geito usando array saca ? ai eu colocava os palavroes na array ai se tivese algum palavrao que tivese na array que concidia no texto ele substituia por *** saca ? ..... ajudem ai pliz ! T+
Walace acho que voce nao me entendeu mt bem....é assim oia:Eu quero fazer um filtro contra palavroes ai vou armazenar os palavroes em uma array... ai eu vo pegar os posts vindos do mysql ai se tiver alguma palavra nesses posts que existem dentro do array ele vai substituir essa palavra pelos caracteres "****" endenteu ?
No primeiro codigo que te passei está a forma como você vai inserir suas palavras no array.
você pode usar
array_push($sua_array, "palavrão"); para colocar dados também.
No FOR que está no meu primeiro post está a forma na qual você poderá pesquisar seu array em busca de uma palavra.
Eu pelo menos entendi isso :unsure:
Se não for explica novamente que vamos tentar dar uma olhada :D
Tipo, nao estou entendeo muito sera que voce pode me dar um exemplo d de filtro?
tipo
um exemplo com uma item só no arraysó pra mim entender
tipo......
eu to tentando fazer aqui em casa mais nao ta dando certo oia:
<?$msg="Ai seu cara de bunda voce fez coco e xixi na cama hahaha";$palavra= array("bunda","coco","xixi","huhu");for($n=0;$n>=3;$n++){$palavra[$n];if(strstr($msg)==$palavra[$n]){$msg=str_replace("$palavra[$n]", "******", $msg);}}echo $msg;?>
Bom... com base em seu codigo alterei algumas coisinhas:
-na linha do for você estava fazendo o teste incorreto, compare.
-logo após o for você colocou $palavra[$n], porque ? Não precisa.
O if(strstr) também não é necessário já que você quer trocar quando encontrar certo, o próprio str_replace se encarrega disso, se não existir a ocorrência ele não tem como trocar.
Testa lá, agora acho que funcionou, qualquer coisa manda aí:
<? $msg="Ai seu cara de bunda voce fez coco e xixi na cama hahaha"; $palavra= array("bunda","coco","xixi","huhu"); for($n=0;$n<3;$n++) { $msg=str_replace($palavra[$n], "******", $msg); } echo $msg;?>
AEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVlw cara brigadao mesmo :D Funfo certin :P vlw T+
O Walace tem um problema a msg vem do banco de dados e nao tem com eu usar um for dentro do while cara :( e agora?
Falô cara, tamu aí pra isso !Percizandu é só fala. ;) :lol:
O Walace tem um problema a msg vem do banco de dados :( e nao tem com eu usar um for dentro do while cara e agora?
Não tem como fazer um for dentro de um while ? Porque ?
Claro que tem cara... olha, teu for está funcionando, o que você tem a fazer é o seguinte:
-faz um while, for ou sei lá o que para ler teu banco de dados;
-dentro deste while coloca este for que você tem aí, mas antes seta a variável $msg, mais ou menos assim:
//aqui você coloca sua linha while que lê o bdwhile(xxxxxxxxxxxxxxxxx){ $msg="Ai seu cara de bunda voce fez coco e xixi na cama hahaha"; $palavra= array("bunda","coco","xixi","huhu"); for($n=0;$n<3;$n++) { $msg=str_replace($palavra[$n], "******", $msg); } //fim do for echo $msg;} //fim do while
sua dúvida está onde ? Criar um array ?!?
Aí vai, imagine que você quer criar um array de palavras então?
$palavra = array("futebol","mulher","música","internet");
Para percorrer este array você pode usar uma estrutura de repetirção for ou while:
for($i=0;$i<4;$i++){ echo $fruta[$i]."\n";}
Há uma matéria na coluna php sobre este assunto, acesse http://www.imasters.com.br/web/conteudo/co...p?codcoluna=295.
Veja mais detalhes em http://br.php.net/manual/pt_BR/ref.array.php.
;)