Foros del Web » Programando para Internet » PHP »

Codificacion inesperada de etiquetas html

Estas en el tema de Codificacion inesperada de etiquetas html en el foro de PHP en Foros del Web. Tengo un largo script para procesar html antiguo y convertirlo a un html bueno. Pero ahora veo que a algunas etiquetas, y no se bien ...
  #1 (permalink)  
Antiguo 17/05/2010, 19:39
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Codificacion inesperada de etiquetas html

Tengo un largo script para procesar html antiguo y convertirlo a un html bueno. Pero ahora veo que a algunas etiquetas, y no se bien a cuales ni por que, me las cambia por este tipo de signatura:

Código HTML:
<input name="author" type="hidden" value="Peter Eastman" />
<input name="a_page" type="hidden" value="&lt;section&gt;
&lt;a class=&quot;arrows fLeft&quot;  href=&quot;chapter7.html&quot; &gt;Prev: Tool Scripts&lt;/a&gt;


&lt;/section&gt;

&lt;section&gt;
&lt;h2&gt;8. Startup Scripts&lt;/h2&gt;&lt;/a&gt; 
Que es? Por que hace eso? Y por qué no con todas las etiquetas?

EL codigo ultrareducido que estoy usando es este:

Código PHP:
$pagina=fopen($relativa.$Newfolder.$elemento"r"); 
                
                if (
$pagina) { 
                    
$texto =""
                    while (!
feof($pagina)){ 
                        
$texto .=fgets($pagina,4096); 
                    }; 
                
fclose($pagina);
                }
                echo 
$texto

Última edición por mayid; 17/05/2010 a las 19:54
  #2 (permalink)  
Antiguo 17/05/2010, 19:55
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Codificacion inesperada de etiquetas html

Haz un html_entity_decode para que veas que representan.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 17/05/2010, 20:01
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: Codificacion inesperada de etiquetas html

Gracias. HAce un rato lo había intentado, y ahora probe de nuevo, pero eso no me funciona. Sigue habiendo zonas cambiadas. Que no afectan en nada a mi pagina, creo. Pero que me gustaría conservar a la manera tradicional ;o)
Cita:
&lt;h2&gt;
Contents
&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;a href=&quot;#overview&quot; name=&quot;overview&quot;&gt;Overview&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href=&quot;chapter2.html&quot;&gt;A Simple Scripted Object&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href=&quot;chapter3.html&quot;&gt;Animated Objects&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href=&quot;chapter4.html&quot;&gt;Textured Objects&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href=&quot;chapter5.html&quot;&gt;An Advanced Scripted Object&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href=&quot;chapter6.html&quot;&gt;Object3D and ObjectInfo&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href=&quot;chapter7.html&quot;&gt;Tool Scripts&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href=&quot;chapter8.html&quot;&gt;Startup Scripts&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;
Esta es mi cabecera:

Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" dir="ltr">

<head>
 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"  />	
<meta http-equiv="Content-Language" content="en" /> 
Y ademas cuenta con una funcion que puede interpretas si el texto es utf8 o no, para convertirlo consecuentemente:

Cita:
function fixEncoding($in_str){
$cur_encoding = mb_detect_encoding($in_str) ;
if($cur_encoding == "UTF-8" && mb_check_encoding($in_str,"UTF-8"))
return $in_str;
else
return utf8_encode($in_str);
};
  #4 (permalink)  
Antiguo 17/05/2010, 20:04
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Codificacion inesperada de etiquetas html

Yo lo traté y sí me funcionó
Código PHP:
Ver original
  1. <?php
  2. $str = '&lt;h2&gt;
  3. Contents
  4. &lt;/h2&gt;
  5. &lt;ol&gt;
  6. &lt;li&gt;
  7. &lt;a href=&quot;#overview&quot; name=&quot;overview&quot;&gt;Overview&lt;/a&gt;
  8. &lt;/li&gt;
  9. &lt;li&gt;
  10. &lt;a href=&quot;chapter2.html&quot;&gt;A Simple Scripted Object&lt;/a&gt;
  11. &lt;/li&gt;
  12. &lt;li&gt;
  13. &lt;a href=&quot;chapter3.html&quot;&gt;Animated Objects&lt;/a&gt;
  14. &lt;/li&gt;
  15. &lt;li&gt;
  16. &lt;a href=&quot;chapter4.html&quot;&gt;Textured Objects&lt;/a&gt;
  17. &lt;/li&gt;
  18. &lt;li&gt;
  19. &lt;a href=&quot;chapter5.html&quot;&gt;An Advanced Scripted Object&lt;/a&gt;
  20. &lt;/li&gt;
  21. &lt;li&gt;
  22. &lt;a href=&quot;chapter6.html&quot;&gt;Object3D and ObjectInfo&lt;/a&gt;
  23. &lt;/li&gt;
  24. &lt;li&gt;
  25. &lt;a href=&quot;chapter7.html&quot;&gt;Tool Scripts&lt;/a&gt;
  26. &lt;/li&gt;
  27. &lt;li&gt;
  28. &lt;a href=&quot;chapter8.html&quot;&gt;Startup Scripts&lt;/a&gt;
  29. &lt;/li&gt;
  30. &lt;/ol&gt;';
  31. echo html_entity_decode($str, ENT_QUOTES);
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 17/05/2010, 20:07
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: Codificacion inesperada de etiquetas html

Ok. A mi no me funciona :(

Cita:
echo html_entity_decode($texto, ENT_QUOTES);
Tambien probé esto: htmlspecialchars_decode();

Estoy viendo el codigo fuente en Opera.
  #6 (permalink)  
Antiguo 17/05/2010, 20:08
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Codificacion inesperada de etiquetas html

Trata el código que te indiqué y déjanos saber.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 17/05/2010, 20:11
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: Codificacion inesperada de etiquetas html

Si. el ejemplo que pusiste funciona ok.

Cita:
<h2>
Contents
</h2>
<ol>
<li>
<a href="#overview" name="overview">Overview</a>
</li>
<li>
<a href="chapter2.html">A Simple Scripted Object</a>
</li>
<li>
<a href="chapter3.html">Animated Objects</a>
</li>
<li>
<a href="chapter4.html">Textured Objects</a>
</li>
<li>
<a href="chapter5.html">An Advanced Scripted Object</a>
</li>
<li>
<a href="chapter6.html">Object3D and ObjectInfo</a>
</li>
<li>
<a href="chapter7.html">Tool Scripts</a>
</li>
<li>
<a href="chapter8.html">Startup Scripts</a>
</li>
</ol>
Mi script pone el texto en pantalla, si doy OK entra el html en mysql, y luego lo muestra. CUando lo muestro por segunda vez, tras ir a mysql, el codigo fuente si funciona como dios manda.

Deja, no es un problema real. Gracias por ayudarme!
  #8 (permalink)  
Antiguo 17/05/2010, 23:00
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Codificacion inesperada de etiquetas html

Checa esto:

Cita:
<input name="a_page" type="hidden" value="&lt;section&gt;
&lt;a class=&quot;arrows fLeft&quot; href=&quot;chapter7.html&quot; &gt;Prev: Tool Scripts&lt;/a&gt;


&lt;/section&gt;

&lt;section&gt;
&lt;h2&gt;8. Startup Scripts&lt;/h2&gt;&lt;/a&gt;
Supongo que esto todavia debe continuar hasta encontrar comillas, espacio, diagonal, mayorque" />
Al colocar texto dentro de un campo de formulario, necesariamente se debe codificar para evitar que se "rompa" la estructura del mismo (y/o de toda la pagina), por lo tanto, sugiero que lo dejes tal como esta, a menos que realmente sepas lo que estas haciendo.
__________________
- León, Guanajuato
- GV-Foto
  #9 (permalink)  
Antiguo 18/05/2010, 08:19
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: Codificacion inesperada de etiquetas html

Ok. Gracias Triby. Ya entendí. Y lo voy a dejar así.

Etiquetas: codificacion, etiquetas, html
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:23.