Foros del Web » Programando para Internet » PHP »

Ayuda con codigo!!!!!

Estas en el tema de Ayuda con codigo!!!!! en el foro de PHP en Foros del Web. buenas estoy generando un contrato dinamicamente a traves del siguiente codigo: Código PHP: // Lee la plantilla $plantilla  =  file_get_contents ( 'plantilla.rtf' );   // Agregamos los escapes necesarios $plantilla  =  addslashes ...
  #1 (permalink)  
Antiguo 11/09/2008, 09:27
 
Fecha de Ingreso: febrero-2008
Ubicación: Cajamarca-Peru
Mensajes: 68
Antigüedad: 16 años, 1 mes
Puntos: 0
Ayuda con codigo!!!!!

buenas estoy generando un contrato dinamicamente a traves del siguiente codigo:
Código PHP:
// Lee la plantilla
$plantilla file_get_contents('plantilla.rtf');
 
// Agregamos los escapes necesarios
$plantilla addslashes($plantilla);
$plantilla str_replace('\r','\\r',$plantilla);
$plantilla str_replace('\t','\\t',$plantilla);
 
// Datos de la plantilla
$nombre "Juan";
$apellido "Perez";
$prefijo "Sr.";
$curso '"Programacion Web con PHP"';
$fecha date("d-m-Y"time() - 24 60 60); // de esta manera el codigo no envejece :P
 
// Procesa la plantilla
eval( '$rtf = <<<EOF_RTF
$plantilla '
EOF_RTF;
);
 
// Guarda el RTF generado
file_put_contents("$apellido-$nombre-$fecha.rtf",$rtf); 
pero me ocurre que todos los caracteres tales como tildes, °, y cualquier otro caracter especial me lo reemplaza por caracteres extraños :( ojala puedan ayudarme. Por favorrrr ayudenmeee :( !!!!
  #2 (permalink)  
Antiguo 11/09/2008, 09:43
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Respuesta: Ayuda con codigo!!!!!

Cita:
echo htmlentities($variable_a_imprmir);
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #3 (permalink)  
Antiguo 11/09/2008, 10:09
 
Fecha de Ingreso: febrero-2008
Ubicación: Cajamarca-Peru
Mensajes: 68
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Ayuda con codigo!!!!!

me refiero a que cualquier caracter especial en la plantilla es reemplazado, me parece que es en la parte donde se agregan los escapes pero no se como solucionarlo, ayudenme porfa.
  #4 (permalink)  
Antiguo 11/09/2008, 10:17
Avatar de vidalsoft  
Fecha de Ingreso: julio-2008
Ubicación: /www/...
Mensajes: 339
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Ayuda con codigo!!!!!

Hola...

asegurate con utf8_encode($texto)



Si quieres puedes trabajar mas con..

& n t i l d e ; ñ
& a a c u t e ; á
& e a c u t e ; é
& a g r a v e ; à
& e g r a v e ; è
& u u m l ; ü
& c c e d i l ; ç
& N t i l d e ; Ñ
& A a c u t e ; Á

o tambien otra opcion es colocar esto despues de cada conexion a MYSQL

@mysql_query("SET NAMES 'utf8'");

o tambien en con las cabeceras al apgina html resultante:

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

Saludos, espero que te sirva
__________________
Anthony Vidal Contreras | @AnthonyVidalC | Skype: vidalsystem | [email protected]
  #5 (permalink)  
Antiguo 11/09/2008, 11:56
 
Fecha de Ingreso: febrero-2008
Ubicación: Cajamarca-Peru
Mensajes: 68
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Ayuda con codigo!!!!!

gracias x tu aporte compadre, pero el problema es en la plantilla al agregar los escapes en la plantilla toda palabra que estaba con tilde o el N° x ejemplo me lo convierte a \\ cosas asi o numeros y letras q nada tienen q ver no se q pueda estar pasando ojala puedan ayudarmeee!!
  #6 (permalink)  
Antiguo 11/09/2008, 12:53
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Ayuda con codigo!!!!!

Usa stripslashes() sobre el texto para quitar los slashes adicionales.

Saludos.
  #7 (permalink)  
Antiguo 11/09/2008, 13:22
 
Fecha de Ingreso: febrero-2008
Ubicación: Cajamarca-Peru
Mensajes: 68
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Ayuda con codigo!!!!!

como haria eso GatorV??.
  #8 (permalink)  
Antiguo 11/09/2008, 13:42
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Ayuda con codigo!!!!!

O_O De la misma manera que haces el addslashes.

stripslashes($plantilla)
  #9 (permalink)  
Antiguo 12/09/2008, 06:33
 
Fecha de Ingreso: febrero-2008
Ubicación: Cajamarca-Peru
Mensajes: 68
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Ayuda con codigo!!!!!

:( lamento decir q no funciona el stripslashes, miren me reemplaza asi:
á por \'e1
é por \'e9
í por \'ed
ó por \'f3
ú por \'fa
N° por N\'b0
alguien q me ayude por favor, gracias x los aportes.
  #10 (permalink)  
Antiguo 15/09/2008, 10:45
 
Fecha de Ingreso: febrero-2008
Ubicación: Cajamarca-Peru
Mensajes: 68
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Ayuda con codigo!!!!!

por favor ayudenme no se q mas hacer no logro q esos caracteres se reemplacen correctamente, ya probe todo :(, help me!!!!
  #11 (permalink)  
Antiguo 21/09/2008, 12:48
 
Fecha de Ingreso: junio-2005
Mensajes: 5
Antigüedad: 18 años, 9 meses
Puntos: 0
Respuesta: Ayuda con codigo!!!!!

amigo, hoy estuve en las mismas que tú, y pues para resolver esto, no encontré mejor forma que recurrir a mi siempre noble PERL, esta vez claro usando la manipulación de expresiones regulares de PHP pero compatibles con PERL,

el problema lo resolvé de esta forma:

Antes de hacer el addslashes, hacemos un reemplazo de los patrones del tipo \'XY que refieren a las tildadas y a las eñes. de tal forma que el addslashes solo afecte a la comilla que aparece y nos quedamos con \' en lugar de \\' en el archivo RTF que es lo que hace aparece mal a las tildadas y eñes

............................................

$patron = '/\\\\\'(.)(.)/i';
$reemplazo = '\'$1$2';
$plantilla = preg_replace($patron,$reemplazo,$plantilla);


$plantilla = addslashes($plantilla);
$plantilla = str_replace('\r','\\r',$plantilla);
$plantilla = str_replace('\t','\\t',$plantilla);


...... Aqui ya pones el resto del codigo del programa .....

Espero te sirva

Última edición por jam1138; 21/09/2008 a las 12:58
  #12 (permalink)  
Antiguo 22/09/2008, 13:34
 
Fecha de Ingreso: febrero-2008
Ubicación: Cajamarca-Peru
Mensajes: 68
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Ayuda con codigo!!!!!

Brotherrrr eresss lo maximoooo, jejje graciassssssss me sirvio a la perfeccion tu aporte. gracias compadre :D. Tema cerrado.
  #13 (permalink)  
Antiguo 02/12/2008, 02:01
 
Fecha de Ingreso: diciembre-2008
Mensajes: 5
Antigüedad: 15 años, 4 meses
Puntos: 0
solucionado aosorio

$plantilla = file_get_contents('../word/plantilla.rtf');

//$plantilla = utf8_decode($plantilla);


// Agregamos los escapes necesarios
$patron = '/\\\\\'(.)(.)/i';
$reemplazo = '\'$1$2';
$plantilla = preg_replace($patron,$reemplazo,$plantilla);
$plantilla = addslashes($plantilla);
$plantilla = str_replace('\r','\\r',$plantilla);
$plantilla = str_replace('\t','\\t',$plantilla);


// Datos de la plantilla
$nombre = "$consulta->name";
//$nombre = "Juan";
$apellido = "Pérez";
$prefijo = "Sr.";
$curso = '"Programacion Web con PHP"';
$fecha = date("d-m-Y", time() - 7 * 24 * 60 * 60); // de esta manera el codigo no envejece :P

unlink('Pérez-temok-25-11-2008.rtf');
// Procesa la plantilla

eval ( '$rtf = <<<EOF_RTF
' .$plantilla. '
EOF_RTF;
' );

// Guarda el RTF generado
file_put_contents("$apellido-$nombre-$fecha.rtf",$rtf);
}


saludos espero les sirva gracias
ser o no ser
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 23:02.