Comunidad de diseño web y desarrollo en internet online

Problema al crear XML con php.-

Citar            
MensajeEscrito el 28 May 2007 03:58 pm
Estoy creando un archivo xml con php.- Pero me da error con algunos caracteres que son "àèìòùÀÈÌÒÙñÑ" aplique la sentencia htmlspecialchars() pero no me devuelve bien los caracteres, aparesen &ampilde.-

Que sentencia se puede utilizar en este caso

Por york3rs

Claber

561 de clabLevel

1 tutorial

Genero:Masculino  

LA___Chile

msie
Citar            
MensajeEscrito el 28 May 2007 07:28 pm
Te servirá esta función?, la encontré por ahí, no la he probado pero quizás pueda servirte de algo

Esto es lo que cuenta su autor
Hoy me interesava por el mundo de los RSS y decidí integrarlo en mi web, para que los visitantes, pudieran obtener nuestras noticias y publicacions de prensa mas a mano.

Pero se me plantearon algunos problemas como eran las tildes, que al passar el htmlentities, se volvian del tipo ´ i tal y entonces no validava el archivo xml, para solucionarlo un compañero, sometent, me paso una funcion que dijo no recordar de donde la saco (le suena que de php.net) pero no lo recuerda bien.

Esta funcion soluciona este problema convirtiendo '&' en '&'


y esta es la función que creó para solucionarlo.

Código :

function xmlentities($string, $quote_style=ENT_QUOTES) {
    static $trans;
       if (!isset($trans)) {
          $trans = get_html_translation_table(HTML_ENTITIES, $quote_style);
             foreach ($trans as $key => $value)
                $trans[$key] = '&#'.ord($key).';';
                   // no traduce el '&' si és parte de &xxx;
                $trans[chr(38)] = '&';
      }
       // després de traducirlo, pasa el '&' a '&'
      return preg_replace("/&(?![A-Za-z]{0,4}\w{2,3};|#[0-9]{2,3};)/","&" , strtr($string, $trans));
}


Espero que te sirva.

Saludos.

Por MijT

97 de clabLevel

1 tutorial

 

Lima - Perú

firefox
Citar            
MensajeEscrito el 28 May 2007 08:45 pm
Esa funcion no me funciono, por ahi encontre que xml ="encoding=\"utf-8\" " entonces hay que decodificar todos los caracteres a este formato, y enconte esta funcion utf8_encode();
Aca pongo un ejemplo para ver que funciona realmente.-

Código :

header("Content-Type: text/xml");
echo "<?xml version=\"1.0\" encoding=\"utf-8\" ?>
<results>";
echo"<res>".utf8_encode ('àèìòùÀÈÌÒÙñÑ')."</res>";
echo "</results>";

Por york3rs

Claber

561 de clabLevel

1 tutorial

Genero:Masculino  

LA___Chile

msie

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.