Foros del Web » Programando para Internet » PHP »

Problemas con FPDF

Estas en el tema de Problemas con FPDF en el foro de PHP en Foros del Web. Hola tengo el siguiente problema... estoy tratando de utilizar fpdf para interpretar un script de noticias que tengo con php y mysql... Hasta ahora he ...
  #1 (permalink)  
Antiguo 01/11/2008, 09:52
Avatar de Capimaster  
Fecha de Ingreso: agosto-2004
Mensajes: 494
Antigüedad: 19 años, 8 meses
Puntos: 2
Problemas con FPDF

Hola tengo el siguiente problema... estoy tratando de utilizar fpdf para interpretar un script de noticias que tengo con php y mysql... Hasta ahora he logrado que me imprima todo los campos pero tengo un problema.. el campo contenido fue subido con fckeditor y como saben este editor de texto.. sube al base de datos lo que son span, divs, en fin codigo html... bueno pues ahora que quiero imprimir en el pdf el campo contenido me muestra algo como lo que les enseñare a continuacion


Alguien sabe como mostrar solo el texto sin todo el codigo html...
aaa ypor cierto los caracteres especiales no me los muestra con el charset adecuado en vez de darme á me da á

Código:
<p align="justify"><span style="font-size: small">El sistema econ&oacute;mico neoliberal del pa&iacute;s ha
desmembrado deliberadamente a PEMEX para la iniciativa del capital privado desde hace a&ntilde;os,
situaci&oacute;n prevista por la pol&iacute;tica econ&oacute;mica por no encajar en los planes evocados por
el Poder Ejecutivo.</span></p>
<p align="justify"><span style="font-size: small"><strong>PEMEX representa en el gasto p&uacute;blico de
la Naci&oacute;n una vital y trascendental importancia, ocupando para Hacienda la estabilidad presupuestal
de la Ley de Ingresos y Egresos anuales.</strong> Es absurdo amputar del mapa presupuestario el ingreso que
aporta la paraestatal para las arcas de M&eacute;xico, siendo al mismo tiempo el principal promotor de los
recursos para el crecimiento del desarrollo, situaci&oacute;n ineludible e incomoda pero real en la
dependencia del petr&oacute;leo.</span></p>
<p align="justify"><span style="font-size: small">Ahora bien, <strong>la iniciativa promovida por
Calder&oacute;n estriba en el total absurdo y en el completo estropicio para el pa&iacute;s: se elude el
t&eacute;rmino &ldquo;privatizaci&oacute;n&rdquo; por el de
&ldquo;modernizaci&oacute;n&ldquo;,</strong> concepto abstracto que figura en la apertura de capital
privado hacia PEMEX y la paulatina venta de la, quiz&aacute;, empresa m&aacute;s rentable en el mundo.
Definiendo los conceptos operados por Calder&oacute;n, es inevitable la mofa a la est&uacute;pida y
monumental falacia engendrada por sus compinches, tratando de ofertar la idea del &ldquo;petr&oacute;leo es
nuestro y vamos por &eacute;l&rdquo;; tal afirmaci&oacute;n es equitativamente un insulto a la raz&oacute;n
y a la inteligencia de los mexicanos: <strong>no existe a&uacute;n la tecnolog&iacute;a en ning&uacute;n
pa&iacute;s del mundo que pueda generar la explotaci&oacute;n de yacimientos ultra profundos como la
mayor&iacute;a de los existentes en el Golfo de M&eacute;xico. </strong></span></p>
Como siempre anticipo el agradecimiento...
__________________
http://www.elcapitolio.com.mx - Ocotlán, Jalisco, México
  #2 (permalink)  
Antiguo 01/11/2008, 10:01
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problemas con FPDF

usa strip_tags y html_entity_decode

suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 01/11/2008, 10:09
Avatar de Capimaster  
Fecha de Ingreso: agosto-2004
Mensajes: 494
Antigüedad: 19 años, 8 meses
Puntos: 2
Respuesta: Problemas con FPDF

Gracias pateketrueke, encontre una function un poco mas desarrollada ya... y me sirvio muy bien...

se los paso... solo sigo con un problema, Me siguio haciendo esto! &nbsp; El narcotr&aacute;fico administraci&oacute;n: manos duras -&iexcl;y limpias!- y con su pol&iacute;tica b&eacute;lica


Código PHP:
function WriteHTML($html)
{
    
//Intérprete de HTML
    
$html=str_replace("\n",' ',$html);
    
$a=preg_split('/<(.*)>/U',$html,-1,PREG_SPLIT_DELIM_CAPTURE);
    foreach(
$a as $i=>$e)
    {
        if(
$i&#37;2==0)
        
{
            
//Text
            
if($this->HREF)
                
$this->PutLink($this->HREF,$e);
            else
                
$this->Write(5,$e);
        }
        else
        {
            
//Etiqueta
            
if($e[0]=='/')
                
$this->CloseTag(strtoupper(substr($e,1)));
            else
            {
                
//Extraer atributos
                
$a2=explode(' ',$e);
                
$tag=strtoupper(array_shift($a2));
                
$attr=array();
                foreach(
$a2 as $v)
                {
                    if(
preg_match('/([^=]*)=["\']?([^"\']*)/',$v,$a3))
                        
$attr[strtoupper($a3[1])]=$a3[2];
                }
                
$this->OpenTag($tag,$attr);
            }
        }
    }
}

function 
OpenTag($tag,$attr)
{
    
//Etiqueta de apertura
    
if($tag=='B' || $tag=='I' || $tag=='U')
        
$this->SetStyle($tag,true);
    if(
$tag=='A')
        
$this->HREF=$attr['HREF'];
    if(
$tag=='BR')
        
$this->Ln(5);
}

function 
CloseTag($tag)
{
    
//Etiqueta de cierre
    
if($tag=='B' || $tag=='I' || $tag=='U')
        
$this->SetStyle($tag,false);
    if(
$tag=='A')
        
$this->HREF='';
}

function 
SetStyle($tag,$enable)
{
    
//Modificar estilo y escoger la fuente correspondiente
    
$this->$tag+=($enable : -1);
    
$style='';
    foreach(array(
'B','I','U') as $s)
    {
        if(
$this->$s>0)
            
$style.=$s;
    }
    
$this->SetFont('',$style);
}

function 
PutLink($URL,$txt)
{
    
//Escribir un hiper-enlace
    
$this->SetTextColor(0,0,255);
    
$this->SetStyle('U',true);
    
$this->Write(5,$txt,$URL);
    
$this->SetStyle('U',false);
    
$this->SetTextColor(0);
}
}

$html='aqui ya nada mas meti mi variable del contenido y listo'
__________________
http://www.elcapitolio.com.mx - Ocotlán, Jalisco, México

Última edición por Capimaster; 01/11/2008 a las 10:19 Razón: ...
  #4 (permalink)  
Antiguo 01/11/2008, 15:13
Avatar de Capimaster  
Fecha de Ingreso: agosto-2004
Mensajes: 494
Antigüedad: 19 años, 8 meses
Puntos: 2
Respuesta: Problemas con FPDF

con str_replace no creo ke se pueda hacer verdad??
por ke en la base de datos se almacenan asi México y no asi M&eacute;xico... o ustede como lo ven
__________________
http://www.elcapitolio.com.mx - Ocotlán, Jalisco, México
  #5 (permalink)  
Antiguo 01/11/2008, 15:25
Avatar de sdf23  
Fecha de Ingreso: diciembre-2002
Mensajes: 297
Antigüedad: 21 años, 4 meses
Puntos: 0
Respuesta: Problemas con FPDF

Guarda los datos en la bd como UTF-8 para ese tipo de caracteres.
__________________

la vida es bella cuando no es culera
  #6 (permalink)  
Antiguo 01/11/2008, 15:35
Avatar de srsombrero  
Fecha de Ingreso: marzo-2008
Mensajes: 128
Antigüedad: 16 años
Puntos: 0
Respuesta: Problemas con FPDF

Cita:
Iniciado por Capimaster Ver Mensaje
Gracias pateketrueke, encontre una function un poco mas desarrollada ya... y me sirvio muy bien...

se los paso... solo sigo con un problema, Me siguio haciendo esto! &nbsp; El narcotr&aacute;fico administraci&oacute;n: manos duras -&iexcl;y limpias!- y con su pol&iacute;tica b&eacute;lica


Código PHP:
function WriteHTML($html)
{
    
//Intérprete de HTML
    
$html=str_replace("\n",' ',$html);
    
$a=preg_split('/<(.*)>/U',$html,-1,PREG_SPLIT_DELIM_CAPTURE);
    foreach(
$a as $i=>$e)
    {
        if(
$i%2==0)
        {
            
//Text
            
if($this->HREF)
                
$this->PutLink($this->HREF,$e);
            else
                
$this->Write(5,$e);
        }
        else
        {
            
//Etiqueta
            
if($e[0]=='/')
                
$this->CloseTag(strtoupper(substr($e,1)));
            else
            {
                
//Extraer atributos
                
$a2=explode(' ',$e);
                
$tag=strtoupper(array_shift($a2));
                
$attr=array();
                foreach(
$a2 as $v)
                {
                    if(
preg_match('/([^=]*)=["\']?([^"\']*)/',$v,$a3))
                        
$attr[strtoupper($a3[1])]=$a3[2];
                }
                
$this->OpenTag($tag,$attr);
            }
        }
    }
}

function 
OpenTag($tag,$attr)
{
    
//Etiqueta de apertura
    
if($tag=='B' || $tag=='I' || $tag=='U')
        
$this->SetStyle($tag,true);
    if(
$tag=='A')
        
$this->HREF=$attr['HREF'];
    if(
$tag=='BR')
        
$this->Ln(5);
}

function 
CloseTag($tag)
{
    
//Etiqueta de cierre
    
if($tag=='B' || $tag=='I' || $tag=='U')
        
$this->SetStyle($tag,false);
    if(
$tag=='A')
        
$this->HREF='';
}

function 
SetStyle($tag,$enable)
{
    
//Modificar estilo y escoger la fuente correspondiente
    
$this->$tag+=($enable : -1);
    
$style='';
    foreach(array(
'B','I','U') as $s)
    {
        if(
$this->$s>0)
            
$style.=$s;
    }
    
$this->SetFont('',$style);
}

function 
PutLink($URL,$txt)
{
    
//Escribir un hiper-enlace
    
$this->SetTextColor(0,0,255);
    
$this->SetStyle('U',true);
    
$this->Write(5,$txt,$URL);
    
$this->SetStyle('U',false);
    
$this->SetTextColor(0);
}
}

$html='aqui ya nada mas meti mi variable del contenido y listo'
No entiendo a lo que van, para que reinventar la rueda si ya esta inventada y bien redonda y linda?, sin imperfecciones, soporta los pozos! :P

Código PHP:
$Texto "<body><p>Hola!!!!!</p> Este es el texto con much&iacute;simo esfuerzo</body>";
echo 
strip_tags($Texto); 
Jeje
  #7 (permalink)  
Antiguo 01/11/2008, 17:07
Avatar de Capimaster  
Fecha de Ingreso: agosto-2004
Mensajes: 494
Antigüedad: 19 años, 8 meses
Puntos: 2
Respuesta: Problemas con FPDF

Cita:
Iniciado por sdf23 Ver Mensaje
Guarda los datos en la bd como UTF-8 para ese tipo de caracteres.
Pero esto desde donde lo controlo en en phpmyadmin o en el scrip a la hora de insertar la nota
__________________
http://www.elcapitolio.com.mx - Ocotlán, Jalisco, México
  #8 (permalink)  
Antiguo 01/11/2008, 17:13
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Problemas con FPDF

Hola

utf8_encode

utf8_decode

o desde phpMyAdmin


Un saludo
  #9 (permalink)  
Antiguo 01/11/2008, 18:11
Avatar de Capimaster  
Fecha de Ingreso: agosto-2004
Mensajes: 494
Antigüedad: 19 años, 8 meses
Puntos: 2
Respuesta: Problemas con FPDF

ya me pase buen rato moviendo el phpmyadmin.. y lo unico ke encuentro es utf8-unicode...
y nada de encode ni decode....

ando algo mal....
__________________
http://www.elcapitolio.com.mx - Ocotlán, Jalisco, México
  #10 (permalink)  
Antiguo 01/11/2008, 19:09
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Problemas con FPDF

Un poco

son funciones de PHP, las puedes usar para introdicir datos codificados en utf8 en la base y despues descodificarlos

Un saludo
  #11 (permalink)  
Antiguo 01/11/2008, 20:09
Avatar de Capimaster  
Fecha de Ingreso: agosto-2004
Mensajes: 494
Antigüedad: 19 años, 8 meses
Puntos: 2
Respuesta: Problemas con FPDF

aaa ok eso si lo se mas o meno usar.. el problema. es ke como lo necesito para fpdf no puedo usar el decoder... por ke no me funciona.. no se por ke... y el pdf.. me sale todo lleno de signos y cosas raras
__________________
http://www.elcapitolio.com.mx - Ocotlán, Jalisco, México
  #12 (permalink)  
Antiguo 01/11/2008, 21:35
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Problemas con FPDF

intenta camniar la codificacion del campo a utf8-latin1 ci creo que es
aunque de que forma sacas la informacion de ese campo de la bbdd??

Un saludo
  #13 (permalink)  
Antiguo 04/11/2008, 02:02
Avatar de Capimaster  
Fecha de Ingreso: agosto-2004
Mensajes: 494
Antigüedad: 19 años, 8 meses
Puntos: 2
Respuesta: Problemas con FPDF

ya pude tuve que utilizar todo esto.. para dejarlo mas o menos chidillo...


Código PHP:
          function portales($cadena)
  {
  
$cadena str_replace ("&aacute;"chr(225), $cadena);
  
$cadena str_replace ("&eacute;"chr(233), $cadena);
  
$cadena str_replace ("&iacute;"chr(237), $cadena);
  
$cadena str_replace ("&oacute;"chr(243), $cadena);
  
$cadena str_replace ("&uacute;"chr(250), $cadena);
  
$cadena str_replace ("&Aacute;"chr(193), $cadena);
  
$cadena str_replace ("&Eacute;"chr(201), $cadena);
  
$cadena str_replace ("&Iacute;"chr(205), $cadena);
  
$cadena str_replace ("&Oacute;"chr(211), $cadena);
  
$cadena str_replace ("&Uacute;"chr(218), $cadena);  
  
$cadena str_replace ("&ntilde;"chr(241), $cadena);    
  
$cadena str_replace ("&Ntilde;"chr(209), $cadena);      
  
$cadena str_replace ("&ldquo;""\""$cadena);      
  
$cadena str_replace ("&rdquo;""\""$cadena);        
  
$cadena str_replace ("&Ntilde;"chr(209), $cadena);      
  
$cadena str_replace ("&Ntilde;"chr(209), $cadena);      
  
$cadena str_replace ("&nbsp;""<br /><br />"$cadena);  
  
  return 
$cadena;
  } 
Código PHP:
$html=portales(utf8_decode($row_ultimas['contenido'])); 
__________________
http://www.elcapitolio.com.mx - Ocotlán, Jalisco, México
  #14 (permalink)  
Antiguo 09/11/2008, 21:39
Avatar de srsombrero  
Fecha de Ingreso: marzo-2008
Mensajes: 128
Antigüedad: 16 años
Puntos: 0
Respuesta: Problemas con FPDF

[QUOTE=Capimaster;2646750]ya pude tuve que utilizar todo esto.. para dejarlo mas o menos chidillo...


Código PHP:
          function portales($cadena)
  {
  
$cadena str_replace ("&aacute;"chr(225), $cadena);
  
$cadena str_replace ("&eacute;"chr(233), $cadena);
  
$cadena str_replace ("&iacute;"chr(237), $cadena);
  
$cadena str_replace ("&oacute;"chr(243), $cadena);
  
$cadena str_replace ("&uacute;"chr(250), $cadena);
  
$cadena str_replace ("&Aacute;"chr(193), $cadena);
  
$cadena str_replace ("&Eacute;"chr(201), $cadena);
  
$cadena str_replace ("&Iacute;"chr(205), $cadena);
  
$cadena str_replace ("&Oacute;"chr(211), $cadena);
  
$cadena str_replace ("&Uacute;"chr(218), $cadena);  
  
$cadena str_replace ("&ntilde;"chr(241), $cadena);    
  
$cadena str_replace ("&Ntilde;"chr(209), $cadena);      
  
$cadena str_replace ("&ldquo;""\""$cadena);      
  
$cadena str_replace ("&rdquo;""\""$cadena);        
  
$cadena str_replace ("&Ntilde;"chr(209), $cadena);      
  
$cadena str_replace ("&Ntilde;"chr(209), $cadena);      
  
$cadena str_replace ("&nbsp;""<br /><br />"$cadena);  
  
  return 
$cadena;
  } 
Es buena....No me acuerdo donde lei una funcion para hacer algo similar, en la documentacion de php habia una.
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 22:53.