Linkin 0 Denunciar post Postado Novembro 24, 2003 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+ Compartilhar este post Link para o post Compartilhar em outros sites
walace 1 Denunciar post Postado Novembro 24, 2003 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. ;) Compartilhar este post Link para o post Compartilhar em outros sites
Linkin 0 Denunciar post Postado Novembro 24, 2003 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 ? Compartilhar este post Link para o post Compartilhar em outros sites
walace 1 Denunciar post Postado Novembro 24, 2003 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 Compartilhar este post Link para o post Compartilhar em outros sites
Linkin 0 Denunciar post Postado Novembro 24, 2003 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;?> Compartilhar este post Link para o post Compartilhar em outros sites
walace 1 Denunciar post Postado Novembro 24, 2003 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;?> Compartilhar este post Link para o post Compartilhar em outros sites
Linkin 0 Denunciar post Postado Novembro 24, 2003 AEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVlw cara brigadao mesmo :D Funfo certin :P vlw T+ Compartilhar este post Link para o post Compartilhar em outros sites
Linkin 0 Denunciar post Postado Novembro 24, 2003 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? Compartilhar este post Link para o post Compartilhar em outros sites
walace 1 Denunciar post Postado Novembro 24, 2003 Falô cara, tamu aí pra isso !Percizandu é só fala. ;) :lol: Compartilhar este post Link para o post Compartilhar em outros sites
Linkin 0 Denunciar post Postado Novembro 24, 2003 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? Compartilhar este post Link para o post Compartilhar em outros sites
walace 1 Denunciar post Postado Novembro 24, 2003 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 Compartilhar este post Link para o post Compartilhar em outros sites