nknk 3 Denunciar post Postado Julho 1, 2007 Eu tenho as seguinte variáveis$texto$titulo$texto2Eu queria que o código abaixo pegasse todas as variaveis acima e colocasse em $todasasvariaveis e fizesse a mudança.Essa foi a melhor forma que eu encontrei para resolver o meu problema de acentuação. Mas eu não sei cmo proceder de forma otimizada. Ao inves de criar 3x a linha abaixo. $todasasvariaveis = str_replace("\"", """, $todasasvariaveis);= str_replace("&", "&", $);= str_replace("ä", "ä", $);= str_replace("ë", "ë", $);= str_replace("ï", "ï", $);= str_replace("ö", "ö", $);= str_replace("ü", "ü", $);= str_replace("Ä", "Ä", $);= str_replace("Ë", "Ë", $);= str_replace("Ï", "Ï", $);= str_replace("Ö", "Ö", $);= str_replace("Ü", "Ü", $);= str_replace("á", "á", $);= str_replace("é", "é", $);= str_replace("í", "í", $);= str_replace("ó", "ó", $);= str_replace("ú", "ú", $);= str_replace("Á", "Á", $);= str_replace("É", "É", $);= str_replace("Í", "Í", $);= str_replace("Ó", "Ó", $);= str_replace("Ú", "Ú", $);= str_replace("à", "à", $);= str_replace("è", "è", $);= str_replace("ì", "ì", $);= str_replace("ò", "ò", $);= str_replace("ù", "ù", $);= str_replace("À", "À", $);= str_replace("È", "È", $);= str_replace("Ì", "Ì", $);= str_replace("Ò", "Ò", $);= str_replace("Ù", "Ù", $);= str_replace("`", "´", $);= str_replace("ç", "ç", $);= str_replace("Ç", "Ç", $); Compartilhar este post Link para o post Compartilhar em outros sites
nknk 3 Denunciar post Postado Julho 1, 2007 Eu to pensando em criar um arquivo php para cada variavel desse jeito <?function parse($texto){ $texto = str_replace("\"", """, $texto);$texto = str_replace("&", "&", $texto);$texto = str_replace("ä", "ä", $texto);$texto = str_replace("ë", "ë", $texto);$texto = str_replace("ï", "ï", $texto);$texto = str_replace("ö", "ö", $texto);$texto = str_replace("ü", "ü", $texto);$texto = str_replace("Ä", "Ä", $texto);$texto = str_replace("Ë", "Ë", $texto);$texto = str_replace("Ï", "Ï", $texto);$texto = str_replace("Ö", "Ö", $texto);$texto = str_replace("Ü", "Ü", $texto);$texto = str_replace("á", "á", $texto);$texto = str_replace("é", "é", $texto);$texto = str_replace("í", "í", $texto);$texto = str_replace("ó", "ó", $texto);$texto = str_replace("ú", "ú", $texto);$texto = str_replace("Á", "Á", $texto);$texto = str_replace("É", "É", $texto);$texto = str_replace("Í", "Í", $texto);$texto = str_replace("Ó", "Ó", $texto);$texto = str_replace("Ú", "Ú", $texto);$texto = str_replace("à", "à", $texto);$texto = str_replace("è", "è", $texto);$texto = str_replace("ì", "ì", $texto);$texto = str_replace("ò", "ò", $texto);$texto = str_replace("ù", "ù", $texto);$texto = str_replace("À", "À", $texto);$texto = str_replace("È", "È", $texto);$texto = str_replace("Ì", "Ì", $texto);$texto = str_replace("Ò", "Ò", $texto);$texto = str_replace("Ù", "Ù", $texto);$texto = str_replace("`", "´", $texto);$texto = str_replace("ç", "ç", $texto);$texto = str_replace("Ç", "Ç", $texto);return $texto;}?>e no formulario que envia eu coloco:<? require("texto.php");?>ta certo ?Existe um metodo mais otimizado ? Compartilhar este post Link para o post Compartilhar em outros sites
alexsauer 0 Denunciar post Postado Julho 1, 2007 Velho, não sei o por quê de tu ter que fazer isso, provavelmente é só alterar a codificação no header, mas, em todo caso, vou focar só no teu problema... $vars = array('texto','titulo','texto2');$chars = array('original'=>'alterado','&'=>'&','ä'=>'ä');foreach ($vars as $var) { foreach($chars as $char_bad=>$char_good) { $$var = str_replace($char_bad,$char_good,$$var); }} A lógica que eu usaria seria essa. Não sei se a sintaxe está certa, uma vez que não testei o código. Mas talvez isso ajude! Abraço! Compartilhar este post Link para o post Compartilhar em outros sites
nknk 3 Denunciar post Postado Julho 1, 2007 alex,meu caso é aquele em que qdo você vai editar a tabela que pega um campo txt e vem com aspas ele não carrega ou carrega incompleto.valeu, vou testar o seu código e depois te digo. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Julho 2, 2007 A função htmlentities() não resolve o seu problema? Compartilhar este post Link para o post Compartilhar em outros sites
nknk 3 Denunciar post Postado Julho 2, 2007 Consegui galera, obrigado!!estou utilizando o código:$titulo = htmlentities($titulo,ENT_QUOTES,'UTF-8');Agora falta resolver a questão do anti injection, eu devo usar isso em cadastro de noticias, eventos por exemplo ? Ou so em comentarios/conta de uma seção ? AMbos Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Julho 2, 2007 A função anti_injection() deve ser usada nos momentos em que o usuário insere informações no banco de dados, podendo incluir códigos maliciosos. Abraços, Beraldo Compartilhar este post Link para o post Compartilhar em outros sites
nknk 3 Denunciar post Postado Julho 3, 2007 existe alguns cadastros meus que vem com o problema ex.: produção mas outros não, o que pode está acontecendo ? Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Julho 3, 2007 Pode ser a codificação (collation) do banco de dados. Essas informações estão assim no banco ou só quando são exibidas num script PHP? Compartilhar este post Link para o post Compartilhar em outros sites