wolfphw 60 Denunciar post Postado Outubro 26, 2005 Tipo como que eu faço pra substituir determinados caracteres de uma string... que quero tirar palavrao de um sisteminha de torpedo que to desenvolvendo... tipo minha string eh esse: você eh um fdp de m***** seu vagabundo ele fica assim: você eh um **** da **** seu vagabundo Desculapa pelo vocabulario mas eh um modo de mostarr oke eu quero :) Compartilhar este post Link para o post Compartilhar em outros sites
luis-restart 0 Denunciar post Postado Outubro 26, 2005 Bom, eu acho que voce pode usar assim:<?$teste = "teste";$teste{1} = "a";echo $teste;?>aparece: tasteve se ajuda ai..[]sluis Compartilhar este post Link para o post Compartilhar em outros sites
wolfphw 60 Denunciar post Postado Outubro 26, 2005 Esse naum resolve meu problema... que esse seu soh troca uma uma letra de uma determinada posição :( Eu preciso que ele procure na string determinada palavra e troque por **** outro exemplo: Eu sou de Cuiabá resultado: Eu sou de ****iabá eu quero que sempre escreva 4 * independendo do tamanho da palavra procurada, para as pessoas naum conseguirem identificar o palavrao Lembrei jah..... o comando que eu queria era o str_replace(); dai fica assim: $mensagem = str_replace("c*","****",$string); :) Soh tem um probleminha como eu mando ele procurar com letras minisculas ele naum achar quando esta escrito com letras maiusculas... vou ter que utilizar outro comando que naum diferencia se eh Caixa alta ou baixa, eu sei que tem pq jah usei, soh naum me lmbro o nome dele :) Compartilhar este post Link para o post Compartilhar em outros sites
maclaw 0 Denunciar post Postado Outubro 26, 2005 usa assim:$mensagem = str_replace(strtoupper("c*"),"****",strtoupper($string));flw... Compartilhar este post Link para o post Compartilhar em outros sites
Marcio Leandro 0 Denunciar post Postado Outubro 26, 2005 Simples, primeiro você cria um array com as palavras que quer filtrar: <?php $filtro = array('palavrao' => '***', 'outropalavrao' => '***', 'fdp' => '***'); $texto = "Oi, você sabia q fulano é um fdp ?"; $txt_final = strTr($texto, $filtro); echo $txt_final; ?> Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Outubro 27, 2005 esse exemplo acima nao trocaria certo por exemplo se você procura-se por um palavrao tipo aquelas mulheres que rodam bolsinha na esquina dai esse exemplo acima trocaria ate a palavra computador ficando com****dor esse exemplo abaixo é mais preciso: <? $palavrao[0] = "v****"; $palavrao[1] = "corno"; $palavrao[2] = "gay"; $palavrao[3] = "bicha"; $string = "Seu v**** gay corno manso tonto você e um mane e mora em cornopolis"; function troca_letras($str, $words) { if(is_array($words)) { foreach($words as $k => $word) { $pattern[$k] = "/\b($word)\b/is"; $replace[$k] = '****'; } } else { $pattern = "/\b($words)\b/is"; $replace = '****'; } return preg_replace($pattern,$replace, $str); } echo troca_letras($string, $palavrao); ?> só você ir acrescentando os palavroes no array como você pode ver a palavra cornopolis nao sera trocada tiver mais duvidas posta ai Compartilhar este post Link para o post Compartilhar em outros sites
Marcio Leandro 0 Denunciar post Postado Outubro 27, 2005 Problema facilmente contornável, acrescentando espaços antes e após as strings :$filtro = array(' palavrao ' => ' *** ', ' outropalavrao ' => ' *** ', ' fdp ' => ' *** '); Compartilhar este post Link para o post Compartilhar em outros sites
Marcio Leandro 0 Denunciar post Postado Outubro 27, 2005 He he, esta do espaço foi ***. :D escorreguei. Compartilhar este post Link para o post Compartilhar em outros sites
wolfphw 60 Denunciar post Postado Outubro 27, 2005 usa assim:$mensagem = str_replace(strtoupper("c*"),"****",strtoupper($string));flw...Esse seu tem um pequeno problema... ele transforma todo texto em maiúsculo Compartilhar este post Link para o post Compartilhar em outros sites
RinaldFN 0 Denunciar post Postado Agosto 25, 2006 Olá pessoal, alguem poderia explicar o que significa alinha $pattern[$k] = "/\b($word)\b/is"; Na função que o Fabyo fez. Não entendi o que a varialvel $pattern[$k] está recebendo. O que fignifica /\b e b/is será expressão regular? Compartilhar este post Link para o post Compartilhar em outros sites
D Coimbra 0 Denunciar post Postado Abril 7, 2010 Olá, Estava com o mesmo problema e solucionei com a função stripslashes() $texto=stripslashes($texto); Compartilhar este post Link para o post Compartilhar em outros sites