Foros del Web » Programando para Internet » PHP »

Texto con formato en PHP

Estas en el tema de Texto con formato en PHP en el foro de PHP en Foros del Web. Saludos a todos: ¿Como se guarda el formato original de un documento de word en una variable PHP, para que al mostrar dicha variable, el ...
  #1 (permalink)  
Antiguo 24/04/2006, 10:39
Avatar de Felipe Torres  
Fecha de Ingreso: abril-2006
Mensajes: 81
Antigüedad: 11 años, 7 meses
Puntos: 1
Texto con formato en PHP

Saludos a todos:

¿Como se guarda el formato original de un documento de word en una variable PHP, para que al mostrar dicha variable, el formato sea el mismo?

Gracias
  #2 (permalink)  
Antiguo 24/04/2006, 10:51
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 12 años, 9 meses
Puntos: 33
¿Como estas caputarando la información del documento Word?
  #3 (permalink)  
Antiguo 24/04/2006, 10:59
Avatar de Felipe Torres  
Fecha de Ingreso: abril-2006
Mensajes: 81
Antigüedad: 11 años, 7 meses
Puntos: 1
Saludos mauled:

Es un simple copy & paste que se pone en el formulario, en el campo el texto queda tal cual, es decir, antes de enviar a la bd el texto queda integro en su formato. Lo demas es lo que les comento.

Gracias
  #4 (permalink)  
Antiguo 24/04/2006, 11:01
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 12 años, 9 meses
Puntos: 33
De acuerdo

Podrias usar htmlentities()
  #5 (permalink)  
Antiguo 24/04/2006, 11:06
Avatar de Felipe Torres  
Fecha de Ingreso: abril-2006
Mensajes: 81
Antigüedad: 11 años, 7 meses
Puntos: 1
Dejame intentar y gracias por tu ayuda
  #6 (permalink)  
Antiguo 24/04/2006, 11:58
Avatar de Felipe Torres  
Fecha de Ingreso: abril-2006
Mensajes: 81
Antigüedad: 11 años, 7 meses
Puntos: 1
Acabo de ver algo mauled:

Hice ahorita una prueba de texto y desde word aplique el formato que necesito - Texto en negritas, tabulaciones, viñetas- lo copio y lo pego en el formulario de altas en mi aplicacion y hasta ahora me di cuenta que si respeta las viñetas pero no la tabulacion y el texto en negritas. Al checar la consulta, el texto aparece en bloque, sin el formato original pero con las viñetas.

Ya intente el uso de htmlentities pero no veo cambios. Al momento de pegar la informacion en el campo donde va, desde ahi no aparece el texto en negritas pero si aparece tabulado y con viñetas. Espero me puedas ayudar tambien con esto.

Gracias.
  #7 (permalink)  
Antiguo 24/04/2006, 12:19
Avatar de Felipe Torres  
Fecha de Ingreso: abril-2006
Mensajes: 81
Antigüedad: 11 años, 7 meses
Puntos: 1
Wow, no se exactamente como, pero los correos que estoy mandando ya respetan la tabulacion, viñetas pero no los textos en negritas. Algo sucedio, pero no se exactamente que...

De cualquier manera gracias mauled.
  #8 (permalink)  
Antiguo 25/04/2006, 07:36
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
No sé como trabaja el "portapapeles" de windows cuando cortas un documento Word.

Lo único que te puedo comentar es que DEBES pensar con que fin vas a almacenar esa información y sobre todo DONDE vas a presentar esa información.

NO es lo mismo que tu "pegues" ahí en un "textarea" de HTML o directamente en una variable (vía tu editor de código) y luego pretendas presentar esos datos en HTML .. (en una página). O no sé que proceso harás.

Lo más "sano" para respetar el formato "Word" es que conviertas tu documento word .doc a un RTF y ese contenido (edita el archivo con "notepad" por ejemplo) lo "copias" sobre tu variable $php.

Luego tendras que hacer algo más dependiendo del fin que le des a ese RTF (Rich text format).

El formato RTF si lo ves como "texto plano" veras que es algo "legible" .. en la medida de que son sentencias/código que definen el formato en "ASCII" (no como un "binario" .doc nativo ..). El "RTF" es más o menos standard .. Word lo lee e interpreta (con mayor o menor complejidad) y otras aplicaciones también (incluso hay conversores RTF -> HTML vía PHP script creo recordar).


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #9 (permalink)  
Antiguo 25/04/2006, 16:29
Avatar de Felipe Torres  
Fecha de Ingreso: abril-2006
Mensajes: 81
Antigüedad: 11 años, 7 meses
Puntos: 1
Gracias cluster por tu comentario lo tendre en cuenta

Saludos
  #10 (permalink)  
Antiguo 02/05/2006, 16:32
Avatar de rafaconpu  
Fecha de Ingreso: febrero-2006
Mensajes: 331
Antigüedad: 11 años, 9 meses
Puntos: 3
Yo tngo un problema parecido. Lo que pretendo es introducir el texto en un textarea pero que a la hora de presentarlo, hacer que aparezca en varios párrafos y destacar en negrita por ejemplo lo que me interese. Eso ¿Habría que hacerlo cuando se está escribiendo el texto? ¿Como se puede hacer?
  #11 (permalink)  
Antiguo 02/05/2006, 16:56
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por rafaconpu
Yo tngo un problema parecido. Lo que pretendo es introducir el texto en un textarea pero que a la hora de presentarlo, hacer que aparezca en varios párrafos y destacar en negrita por ejemplo lo que me interese. Eso ¿Habría que hacerlo cuando se está escribiendo el texto? ¿Como se puede hacer?
En tu caso .. mejor usa algún editor DTHML visual tipo:

HTML Area
www.htmlarea.com

Con eso generas HTML en forma visual. Si tu objetivo es sólo presentarlo en una página (como un artículo, noticia .. etc) .. con eso te sobra.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #12 (permalink)  
Antiguo 05/05/2006, 10:16
Avatar de Felipe Torres  
Fecha de Ingreso: abril-2006
Mensajes: 81
Antigüedad: 11 años, 7 meses
Puntos: 1
Hola Cluster:

Por alguna razon, los mail que yo enviaba, respetaban los saltos de linea y las tabulaciones asi como las viñetas -bullets-, ahora no lo hace, no se porque dejo de hacer eso. Vi tu ultima intervencion y me entre a ese link pero creo que no va por ahi lo que necesito... me explico:

El usuario tiene un documento de word, ya formateado -espacios, saltos de linea, tabulaciones etc- y lo que hace es copiarlo y pegarlo en un campo text field; hasta ahi mas o menos bien, porque si respeta saltos de linea y tabulaciones y viñetas pero no negritas o cursivas, bien, dejando eso de lado, la info se guarda en una variable en la base de datos, el problema viene que cuando se despliega en pantalla, esta info aparece sin saltos de linea y todo lo demas, aparece como un solo bloque de texto y si lo envio por email sale lo mismo. La pregunta ¿Como se puede hacer para que el texto que pega el usuario en el formulario, aparezca tal cual en la pantalla y en el mail?.

Espero haberme dado a entender.

Muchas gracias

Felipe
  #13 (permalink)  
Antiguo 05/05/2006, 10:50
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
¿Y por qué obligas al usuario a que "pegue" ese texto del documento que ya tiene hecho en cierto formato: Word?

No será mejor que "suba" el documento completo (el word) y lo almacenes en el servidor como tal (.doc)?

Yo creo que eso es lo más sano .. tanto para el usuario como para el "formato" del archivo. Lo que no te servirá mucho es para implementar "buscadores" sobre ese contenido del documento. Tendrías que obligar al usuario a que indique una descripción del ducumento.

En general .. no sé que función cumplen esos datos .. pero creo que "amerita" tu sistema un replanteamiento. Tal vez la idea sería que -TU- aplicación en función de ciertos datos .. generase ese documento .doc (un .rtf más manejable por PHP) o un PDF incluso y tu almacenas tu información "pura" (sin "formato") para objetivos de busquedas y demás en tus BBDD.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #14 (permalink)  
Antiguo 05/05/2006, 10:55
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
¿Como se puede hacer para que el texto que pega el usuario en el formulario, aparezca tal cual en la pantalla y en el mail?.
A ver .. cuando dices "pantalla" no sé si tienes claro que usas un cliente que es un "navegador" y que el "navegador" entiende o interpreta HTML.

Bajo ese concepto . .si tu pegas en un "textarea" algo .. lo que obtienes ahí son "códigos de control" tipo \t (tabulador) .. o \n (salto de línea) entre otros que en el "HTML" NO corresponden. En HTML un salto de línea es un tag <br> .. un "tabulador" ... no existe pero se puede implementar creando tablas HTML u otras estructuras. Es decir .. podrías aplicar nl2br() a tu texto que te pegan por lo menos para ver en "pantalla" (habla del "navegador" no de la "pantalla") ese documento con ese formato por lo menos con un salto de línea. El tema de las "negritas" y demás .. olvidalo de esa forma ..

En cuanto al e-mail .. NO indicas como envias tu e-mail. ¿ Será en formato HTML? .. o es texto plano? .. Eso se vé en las cabeceras de mail() que uses (si es que usas mail()). Por ende se aplica lo mismo que antes. Si generas HTML .. debes generar tag's HTML para tal fin .. y si es texto plano .. puedes usar los "\t" .. "\n" y demás ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #15 (permalink)  
Antiguo 05/05/2006, 11:27
Avatar de Felipe Torres  
Fecha de Ingreso: abril-2006
Mensajes: 81
Antigüedad: 11 años, 7 meses
Puntos: 1
No es que lo "obligue" como mencionas; es que el usuario asi lo pide, como no quiere volver a llenar un solo campo que es para especificaciones tecnicas, lo mas facil para él es simplemente copy & paste y la bronca es para mi -ha,ha-
Ahora bien, el sistema no hace busquedas por ese lado, hace una busqueda por el codigo del producto pero no por los contenidos -en realidad no necesita hacer este tipo de busquedas- pero gracias por tu observacion.

Acabas de mencionar un punto interesante, que el usuario suba su archivo tal cual, pero ¿puede mostrarse en pantalla ese archivo y ser modificable? por otro lado ¿Debo entender que no existe una solucion por PHP para que el texto quede debidamente presentable?, realmente no conozco el alcance de PHP pero si alguien mas sabe, por favor comentelo.

Gracias Cluster por tu ayuda.
  #16 (permalink)  
Antiguo 05/05/2006, 11:48
Avatar de Felipe Torres  
Fecha de Ingreso: abril-2006
Mensajes: 81
Antigüedad: 11 años, 7 meses
Puntos: 1
Ok, creo que te entendi, te paso el codigo para que lo veas y me des tu opinion:
Código PHP:
    $cuerpo.= "<img src=http://www.ftbnet.com/images/logoCIMA.jpg width=250 height=85 ><font face=tahoma size=2 style=text-align:justify <br><br><table width=642 border=0 align=center>
  <tr>
    <td bgcolor=#336699>
</table><br>The Machine: "
.$row_Recordset1['DESCRIPCION']."\n has the following features: <br><br>".$row_Recordset1['CARACTERISTICAS']."<br><br>\n You Company had quote actually ".$tucantidad." equipment "."with a total of USD$".$mitotal." each. <br><br> The time to delivery the equipment is: ".$timearea."<br><br>\n The conditions of payment are : ".$payarea."<br><br> The total cost of equipment without INCOTERMS is USD$".$tutotal
La variable $row_Recordset1['CARACTERISTICAS'] es la que contiene la dichosa info que el usuario pega, de las demas variables, como ves, si respeta los "saltos de linea" en el "navegador" y en el mail que se envia.

El problema radica en la variable mencionada arriba.

¿Alguna sugerencia?

Gracias
  #17 (permalink)  
Antiguo 05/05/2006, 14:08
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Acabas de mencionar un punto interesante, que el usuario suba su archivo tal cual, pero ¿puede mostrarse en pantalla ese archivo y ser modificable? por otro lado ¿Debo entender que no existe una solucion por PHP para que el texto quede debidamente presentable?, realmente no conozco el alcance de PHP pero si alguien mas sabe, por favor comentelo.
No, .. en ese caso el archivo subiría .. pero si necesita hacer una modificación tendría que "bajarlo" -> actualizarlo y de ahí -> Subirlo nuevamente.

Visto tu sistema . .sería más "sano" que suban esa documentación técnica que seguro que toman de un PDF o de otro tipo de ducumento "digital" y la adjunten al sistema (relacionado por ese código o demás datos del mismo).


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #18 (permalink)  
Antiguo 05/05/2006, 14:12
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por Felipe Torres
Ok, creo que te entendi, te paso el codigo para que lo veas y me des tu opinion:
Código PHP:
    $cuerpo.= "<img src=http://www.ftbnet.com/images/logoCIMA.jpg width=250 height=85 ><font face=tahoma size=2 style=text-align:justify <br><br><table width=642 border=0 align=center>
  <tr>
    <td bgcolor=#336699>
</table><br>The Machine: "
.$row_Recordset1['DESCRIPCION']."\n has the following features: <br><br>".$row_Recordset1['CARACTERISTICAS']."<br><br>\n You Company had quote actually ".$tucantidad." equipment "."with a total of USD$".$mitotal." each. <br><br> The time to delivery the equipment is: ".$timearea."<br><br>\n The conditions of payment are : ".$payarea."<br><br> The total cost of equipment without INCOTERMS is USD$".$tutotal
La variable $row_Recordset1['CARACTERISTICAS'] es la que contiene la dichosa info que el usuario pega, de las demas variables, como ves, si respeta los "saltos de linea" en el "navegador" y en el mail que se envia.

El problema radica en la variable mencionada arriba.

¿Alguna sugerencia?

Gracias
Lo que interesaría ver es lo que ese campo almacena (que información) y como queda .. Pero también te comento que si hay un código de control tipo "\n" no lo vamos a ver .. así que tampoco sirve de mucho publicar dicho contenido .. pero en fin .. más vale que sobre que no que falte información.

Yo realmente desconozco como trabaja el "portapapeles" y que es lo que "copia" (código interno?) al hacer ese proceso. Identificando eso .. se podría ver como trabajarlo con PHP si corresponde.

También te vuelvo a insistir .. si pruebas HTML Area (te dejé más arriba el link) . .veras que tiene un botón para pegar desde "word" (donde genera HTML para respetar tu formato original) .. pruebalo, tal vez con eso te resulte lo que pretendes hacer. Insisto que ese editor es "visual" .. no tienes que "escribir" HTML (o tus usuarios) . .se hace al puro estilo "Dreamweaver".

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 19:07.