Foros del Web » Creando para Internet » HTML »

Texto plano a HTML

Estas en el tema de Texto plano a HTML en el foro de HTML en Foros del Web. Buenas.. Tengo un "mensaje" en una base de datos... la cual tiene etiquetas como strong.. span.. etc... ahora bien... cuando las leo con php y ...
  #1 (permalink)  
Antiguo 12/01/2009, 23:09
Avatar de Fernand0  
Fecha de Ingreso: septiembre-2005
Ubicación: Buenos Aires
Mensajes: 610
Antigüedad: 19 años, 1 mes
Puntos: 19
Texto plano a HTML

Buenas..

Tengo un "mensaje" en una base de datos... la cual tiene etiquetas como strong.. span.. etc... ahora bien... cuando las leo con php y las paso al XSL... el XSL me lee todo como texto plano...

Hay manera de que el XSL me lo lea como HTML?

gracias y
  #2 (permalink)  
Antiguo 13/01/2009, 03:34
Avatar de Jofsen  
Fecha de Ingreso: diciembre-2008
Ubicación: Alicante - España
Mensajes: 56
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Texto plano a HTML

puedes utilizar desde el php:
Código PHP:
$datos htmlentities($datos_con_etiquetas); 
o bien durante la generación del XML:
Código PHP:
<content type="html"><? echo $datos_con_etiquetas ?></content>
  #3 (permalink)  
Antiguo 13/01/2009, 04:48
Avatar de Fernand0  
Fecha de Ingreso: septiembre-2005
Ubicación: Buenos Aires
Mensajes: 610
Antigüedad: 19 años, 1 mes
Puntos: 19
Respuesta: Texto plano a HTML

El XSL me lo lee todo como texto plano despues de usar el htmlentities

Se lee

&lt;strong&gt;lalala&lt;/strong&gt;

Sin el entities..

<span><input type="button" value="Test 1"></span>

O sea... no se me ve el texto en negrita.. ni el boton... se ve puramente el texto plano y no consigo la forma de que el XSL lo transforme

gracias Jofsen por la atencion

Última edición por Fernand0; 13/01/2009 a las 05:28
  #4 (permalink)  
Antiguo 13/01/2009, 07:05
Avatar de Jofsen  
Fecha de Ingreso: diciembre-2008
Ubicación: Alicante - España
Mensajes: 56
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Texto plano a HTML

Ups, perdón. Fallo mio. No sé cómo leí, pero entendí XML y me vino a la cabeza un RSS, pero por ahí deben ir los tiros.

Pon el código que utilizas y lo vemos. Ok?
  #5 (permalink)  
Antiguo 13/01/2009, 07:26
Avatar de Fernand0  
Fecha de Ingreso: septiembre-2005
Ubicación: Buenos Aires
Mensajes: 610
Antigüedad: 19 años, 1 mes
Puntos: 19
Respuesta: Texto plano a HTML

A ver..

Código PHP:
$xml='<?xml version="1.0" encoding="iso-8859-1"?>';
$xml.='<?xml-stylesheet type="text/xsl" href="'.$File.'.xsl"?>';
$xml.='<data>';
...
$xml.='</data>';
...
header('Content-type: text/xml; charset="iso-8859-1"');
xsl
Código HTML:
<?xml version='1.0' encoding='utf-8'?>

<!DOCTYPE xsl:stylesheet [<!ENTITY nbsp ' '><!ENTITY copy '©'><!ENTITY reg '®'><!ENTITY trade '™'><!ENTITY mdash '—'><!ENTITY ldquo '“'><!ENTITY rdquo '”'><!ENTITY pound '£'><!ENTITY yen '¥'><!ENTITY euro '€'>]>

<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:output method='html' encoding='utf-8' doctype-public='-//W3C//DTD XHTML 1.0 Transitional//EN' doctype-system='http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'/>
<xsl:template match='data'>

<html xmlns="http://www.w3.org/1999/xhtml">
    <body>
                   <xsl:for-each select='post'>
                        <table class="Post">
                            <tr class="Body">
                                <td><xsl:value-of select='msg'/></td>
                            </tr>						
                        </table>
                    </xsl:for-each>
    </body>
</html>

</xsl:template>
</xsl:stylesheet> 
Le saque todo lo que no tenia nada que ver asi no nos volvemos locos... gracias nuevamente!
  #6 (permalink)  
Antiguo 13/01/2009, 13:41
Avatar de Jofsen  
Fecha de Ingreso: diciembre-2008
Ubicación: Alicante - España
Mensajes: 56
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Texto plano a HTML



Uff! No tengo experiencia con archivos xsl. y la verdad no creo que el problema sté en la parte de código que has puesto. No quiero liarte con comentarios imprecisos por mi falta de experiencia, pero el problema se parece mucho a uno que encontré hace tiempo generando el XML para un RSS. He buscado el código y lo resolví con algo así:

Código PHP:
<item>
    <
title>'.$rs[$i]->titulo.'</title>
    <
link>'.RUTA.('/comentarios'.$rs[$i]->id_post.'html').'</link>
    <
comments>'.RUTA.('/comentarios/'.$rs[$i]->id_post.'html').'</comments>
    <
pubDate>'.$rs[$i]->fecha.'</pubDate>
    <
dc>'.$rs[$i]->autor.'</dc>        
    <
category>'.$rs[$i]->categoria.'</category>
    <
guid isPermaLink="false">'.RUTA.('/comentarios/'.$rs[$i]->id_post.'html').'</guid>
    <
description type="html"><![CDATA['.$rs[$i]->resumen.' ...]]></description>
    <
content type="html"><![CDATA['.nl2br($rs[$i]->texto).']]></content>
</
item>; 
A esto me refería en el primer comentario:
Código PHP:
<description type="html"><![CDATA['.$rs[$i]->resumen.' ...]]></description>
<
content type="html"><![CDATA['.nl2br($rs[$i]->texto).']]></content
Ahí puede haber etiquetas como '<a href="#">...</a>' y las visualiza como un enlace, no como texto plano.

Espero haberte aclarado algo.
  #7 (permalink)  
Antiguo 13/01/2009, 22:34
Avatar de Fernand0  
Fecha de Ingreso: septiembre-2005
Ubicación: Buenos Aires
Mensajes: 610
Antigüedad: 19 años, 1 mes
Puntos: 19
Respuesta: Texto plano a HTML

No.. no funciona :(

gracias nuevamente Jofsen
  #8 (permalink)  
Antiguo 14/01/2009, 02:53
Avatar de Jofsen  
Fecha de Ingreso: diciembre-2008
Ubicación: Alicante - España
Mensajes: 56
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Texto plano a HTML

Puedes poner exactamente la etiqueta o el item completo que contiene el texto?

como en mi caso "<content> o <description>". A ver si tenemos suerte.
  #9 (permalink)  
Antiguo 14/01/2009, 03:41
Avatar de Fernand0  
Fecha de Ingreso: septiembre-2005
Ubicación: Buenos Aires
Mensajes: 610
Antigüedad: 19 años, 1 mes
Puntos: 19
Respuesta: Texto plano a HTML

<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet type="text/xsl" href="Index.xsl"?>

<data>
<URL><![CDATA[url]]></URL>
<author><![CDATA[autor]]></author>
<sname><![CDATA[sname]]></sname>

<post>
<id><![CDATA[2]]></id>
<author><![CDATA[Clown]]></author>
<title><![CDATA[Test 1...]]></title>
<msg><![CDATA[<span><input type="button" value="Test 1"></span>]]></msg>
<comments><![CDATA[0]]></comments>
<date><![CDATA[10-11-2008]]></date>
</post>

<post>
<id><![CDATA[11]]></id>
<author><![CDATA[Clown]]></author>
<title><![CDATA[Test 10...]]></title>
<msg><![CDATA[&lt;strong&gt;lalala&lt;/strong&gt;<br><span style="font-weight: bold;">lololo</span>]]></msg>
<comments><![CDATA[0]]></comments>
<date><![CDATA[14-03-2008]]></date>
</post>

</data>
  #10 (permalink)  
Antiguo 14/01/2009, 08:01
Avatar de Jofsen  
Fecha de Ingreso: diciembre-2008
Ubicación: Alicante - España
Mensajes: 56
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Texto plano a HTML

añade 'type="html"' a las etiquetas <msg></msg>

ej.:
Código HTML:
<msg type="html"><![CDATA[<strong>lalala</strong><br><span style="font-weight: bold;">lololo</span>]]></msg> 
Esto debría funcionar.

Ya me cuentas.
  #11 (permalink)  
Antiguo 14/01/2009, 08:52
Avatar de Fernand0  
Fecha de Ingreso: septiembre-2005
Ubicación: Buenos Aires
Mensajes: 610
Antigüedad: 19 años, 1 mes
Puntos: 19
Respuesta: Texto plano a HTML

Ya lo habia probado asi como me habias dicho y seguia igual..

http://www.forosdelweb.com/f26/html-...8/#post2740033

Ahi me pudo ayudar el moderador del foro de xml..

Muchisimas gracias Jofsen por la paciencia :)
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 05:10.