Mostrar salto de linea de un textarea en un div

3,755 views
Skip to first unread message

mauricio olivera

unread,
Oct 28, 2011, 8:01:04 PM10/28/11
to rub...@googlegroups.com
Estimado. Disculpen la molestia.-

Necesito guardar el texto de un textarea y cuando lo recupero mostrarlo en el mismo modo que se guardo( con salto de linea y Sangria).-
Esto es CSS o hay alguna function de ruby para guardarla  o mostrarla en ese formato?

Saludos

  Mauricio Olivera

 Desarrollador PHP/MySQL , .NET.-

  Técnico Informatico .-

-San Juan, Argentina

Contactos:

-          Teléfono Movil: +54 0264 155445779

-          Mns:    feb...@hotmail.com

-          Gtalk:  feb...@gmail.com

 -            Skype: oliveram84



Nicolás Sanguinetti

unread,
Oct 28, 2011, 8:22:37 PM10/28/11
to rub...@googlegroups.com
2011/10/28 mauricio olivera <feb...@gmail.com>:

> Estimado. Disculpen la molestia.-
> Necesito guardar el texto de un textarea y cuando lo recupero mostrarlo en
> el mismo modo que se guardo( con salto de linea y Sangria).-
> Esto es CSS o hay alguna function de ruby para guardarla  o mostrarla en ese
> formato?

*Podrías* usar un <pre> para mostrar texto preformateado, pero no es
la idea. Lo que vos querés es convertir es "\n" en <br>, y,
posiblemente, "\n\n+" (lease, 2 o más saltos de línea seguidos) en
párrafos.

Si estás usando rails, tenés un helper "simple_format" que hace
exactamente esto.

Si no, una versión precaria es "some\nstring\n\nhere".gsub(/\n+/, "<br>").

Saludos,
-foca

Leandro López (inkel)

unread,
Oct 28, 2011, 11:53:00 PM10/28/11
to rub...@googlegroups.com
2011/10/28 Nicolás Sanguinetti <h...@nicolassanguinetti.info>:

> 2011/10/28 mauricio olivera <feb...@gmail.com>:
>> Estimado. Disculpen la molestia.-
>> Necesito guardar el texto de un textarea y cuando lo recupero mostrarlo en
>> el mismo modo que se guardo( con salto de linea y Sangria).-
>> Esto es CSS o hay alguna function de ruby para guardarla  o mostrarla en ese
>> formato?
>
> *Podrías* usar un <pre> para mostrar texto preformateado, pero no es
> la idea. Lo que vos querés es convertir es "\n" en <br>, y,
> posiblemente, "\n\n+" (lease, 2 o más saltos de línea seguidos) en
> párrafos.

Otra forma es que en el elemento que muestres el contenido (imagino un
<div>) le pongas el siguiente estilo:

white-space: pre

Hace lo mismo que <pre> con la salvedad de que la tipografía se
respeta (no es monoespaciada por defecto), pero en cuanto a semántica,
<pre> es lo que deberías usar.

Demás está decir que tenés que sanear correctamente los contenidos del
formulario ese, porque te exponés a ataques XSS.

--
Leandro
(inkel)

Alfrenovsky

unread,
Oct 29, 2011, 12:37:02 PM10/29/11
to rub...@googlegroups.com
Lo mejor es ponerle es estilo 

white-space: pre-line

Si usas "pre" solo  las lineas largas no "wrapean" y te ensancha el div


pre-line hace:
  • wrap automatico, o sea hace saltos de linea cuando la palabra siguiente no cabe en la linea
  • respeta TUS saltos de linea sin necesidad de escaparlos con un <br/>
  • colapsa multiples saltos de linea a uno solo, igual que el html hace con multiples espacios seguidos.
pre-wrap es similar solo que no colapsa los multiples espacios ni multiples saltos de linea contiguos.

Lo más parecido a como lo ves en un form es pre-wrap pero personalmente pre-line me gusta más como se ve.


ahi tenes todos los detalles y ejemplos. Siempre que tengo dudas de css termino cayendo ahi.

mauricio olivera

unread,
Oct 29, 2011, 1:19:25 PM10/29/11
to rub...@googlegroups.com
Muchas gracias por la ayuda. Todas las intervenciones fueron útiles.

  Mauricio Olivera

 Desarrollador PHP/MySQL , .NET.-

  Técnico Informatico .-

-San Juan, Argentina

Contactos:

-          Teléfono Movil: +54 0264 155445779

-          Mns:    feb...@hotmail.com

-          Gtalk:  feb...@gmail.com

 -            Skype: oliveram84





Reply all
Reply to author
Forward
0 new messages