wemersonrv

Problemas de conversão - Resolvido

Sep 14th, 2012
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. if(mb_detect_encoding($conteudo, "UTF-8, ISO-8859-1") != "UTF-8"){
  2.  
  3.         // Tem que passar a conversão 2x para dar certo. por exemplo a palavra alegação pode vir assim:
  4.         //        alegação
  5.         // alegação => alegação na primeira conversão
  6.         // alegação => alega��o Agora é só passar um utf_encode e pronto!
  7.         $conteudo= decode_entities_full( decode_entities_full( $conteudo ) );
  8.  
  9.         // Mas antes de converter ainda existem caracteres como &ndash, &rsquo entre outros...
  10.         // – e &rsquo estarão convertidos para – e ’ respectivamente.
  11.         // Então o código de conversão anterior deve ser mantido para funcionar...
  12.         $string = preg_replace('~&#x([0-9a-f]+);~ei', 'chr(hexdec("\\1"))', $conteudo);
  13.         $string = preg_replace('~&#([0-9]+);~e', 'chr("\\1")', $string);
  14.         $trans_tbl = get_html_translation_table(HTML_ENTITIES);
  15.         $trans_tbl = array_flip($trans_tbl);
  16.         $conteudo = strtr($string, $trans_tbl);
  17.  
  18.         $conteudo = utf8_encode($conteudo);
  19. }
  20.  
  21. $xml = simplexml_load_string($conteudo);
Advertisement
Add Comment
Please, Sign In to add comment