Blackcat 0 Denunciar post Postado Junho 24, 2010 Olá Pessoal, Minha dúvida é simples ao mesmo tempo que complexa. Fiz um sistema em Adobe Flex(não achei Adobe Flex no fórum, por isso postei em Flash) e criei um campo normal do tipo Text(input, multi linhas) e quando o usuário digita - (traço) e --(travessão) o sistema reconhece e grava no banco sem nenhum problema, mas quando o usuário copia de algum site em HTML(totalmente HTML e não XHTML), ele na verdade lê e copia o código HTML(que algo é algo ASCII: ) e colar dentro do campo e gravar no banco de dados eu não consigo mais saber o que significa esse código. Antes de mais nada já tentei as funções:(estou usando PHP) htmlentities, htmlspecialchars, html_entity_decode. Tentei até encodar em utf8 e ae é que a coisa piora, ele até encoda, mas um caracter especial que não é possivel voltar ao normal(curioso não?). Agradeço Qualquer ajuda. Blackcat Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Junho 24, 2010 — - − - Ambos são parecidos dash > minus O que você vai ter que fazer é deixar o banco gravar como html entities mesmo... não vejo problema nisso... afinal quando for printar ele vai converter devolta automaticamente pelo navegador... exatamente como ele fez quando foi copiado. Basta não mexer no código Agora se você salvar como é aiii sim tu vai ter um código em UTF-8 Tem algum exemplo para eu ver como funciona??? porque assim de orelhada não vou saber como lhe ajudar. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Blackcat 0 Denunciar post Postado Junho 24, 2010 Então amigo, ae é que está o problema, esses códigos que postou é XHTML, entendeu? Se de onde o meu usuário copiasse fosse XHTML eu não tenho NENHUM problema, rs... O problema é quando não é XHTML ou seja não é esse código "bunitinho": — e − e sim como eu informei na primeira mensagem, é aquele código esquisito, vai no Dreamweaver(em CODE) e poste o copie o código: ;(coloque o ponto e vírgula junto) verá que ele é semelhante ao − porém esse é ASCII( ;), me entendeu? Obs: se eu escrever esse código colocando o ponto e virgula junto ao número 2: ; -> (veja como apareceu até mesmo aqui no imasters. Desde já obrigado pela contribuição, Blackcat — - − - Ambos são parecidos dash > minus O que você vai ter que fazer é deixar o banco gravar como html entities mesmo... não vejo problema nisso... afinal quando for printar ele vai converter devolta automaticamente pelo navegador... exatamente como ele fez quando foi copiado. Basta não mexer no código Agora se você salvar como é aiii sim tu vai ter um código em UTF-8 Tem algum exemplo para eu ver como funciona??? porque assim de orelhada não vou saber como lhe ajudar. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Junho 24, 2010 O jeito então vai ser você criar um filtro... que se enquadre com isso ai. E re escreva o código para o formato correto. Já que Flex = AS 3 fazer um replace com expressão regular fica fácil :) Ai tudo que você vai ter que fazer é criar o filtro e procurar na string se encontra algum dos códigos de HTML comum. Ou bloqueia o copy paste :) Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Matheus Brito 12 Denunciar post Postado Junho 25, 2010 Não soube procurar. Compartilhar este post Link para o post Compartilhar em outros sites
Blackcat 0 Denunciar post Postado Junho 25, 2010 Olá! Nem sempre vimos a solução quando ela parece tão óbvia(replace dentro do flex). Vou fazer um teste depois e se tudo ocorrer bem, mudo o título para resolvido. Obrigado pela contribuição. O jeito então vai ser você criar um filtro... que se enquadre com isso ai. E re escreva o código para o formato correto. Já que Flex = AS 3 fazer um replace com expressão regular fica fácil :) Ai tudo que você vai ter que fazer é criar o filtro e procurar na string se encontra algum dos códigos de HTML comum. Ou bloqueia o copy paste :) Abraços Compartilhar este post Link para o post Compartilhar em outros sites