Separación de párrafos, negritas y otros en campos de texto

Saludos amigos. Aunque he leido bastante este foro desde hace unos dos
meses, es la primera vez que escribo.

Estoy haciendo un portal de noticias en Rails 2.0.2. Pueden verla en
http://cavecal.joserafael.com.ve

Hasta el momento el problema principal que tengo es la separación de los
párrafos cuando se ingresa en campos de textos. Le he puestos varias
etiquetas como
,

y nada. Lo único que hace es mostrar dichas
etiquetas. Sencillamente deseo que los separe.

¿Alguna sugerencia?

Muchas gracias por su respuesta. Disculpa Javier mi ignorancia pero en
donde quito el “h()”

javier ramirez wrote:

hola,

Hasta el momento el problema principal que tengo es la separación de los
párrafos cuando se ingresa en campos de textos. Le he puestos varias
etiquetas como
,

y nada. Lo único que hace es mostrar dichas
etiquetas. Sencillamente deseo que los separe.

mmmm… es probable que estés usando el helper h() para escapar los
contenidos, con lo que te escapa los tags que tengas

prueba a quitarle el h() si lo estás usando… eso sí, si el contenido
te lo pasa el usuario tendrás que limpiarlo (en ese caso sería
interesante no permitir el uso de tags html directamente)

saludos,

javier ramírez

El 7/04/08, javier ramirez [email protected]
escribió:> contenidos, con lo que te escapa los tags que tengas

prueba a quitarle el h() si lo estás usando… eso sí, si el contenido
te lo pasa el usuario tendrás que limpiarlo (en ese caso sería
interesante no permitir el uso de tags html directamente)

¿Existe algún helper que escape el html insertado por el usuria como
h() pero que muestre los bloques de texto entre etiquetas

?

Me explico

inserción del usuario: Hola que tal. \n Esto es otra línea.

Que renderize:

Hola que <html> tal.

Esto es otra línea

Gracias
f.

El lun, 07-04-2008 a las 18:36 +0200, Fernando G. escribió:

¿Existe algún helper que escape el html insertado por el usuria como
h() pero que muestre los bloques de texto entre etiquetas

?

CGI::escape (html de usuario)

lo tienes definido en la stdlib de ruby:
http://www.ruby-doc.org/stdlib/libdoc/cgi/rdoc/classes/CGI.html#M000092

Un Saludo

Guillermo [email protected]

hola,

Hasta el momento el problema principal que tengo es la separación de los
párrafos cuando se ingresa en campos de textos. Le he puestos varias
etiquetas como
,

y nada. Lo único que hace es mostrar dichas
etiquetas. Sencillamente deseo que los separe.

mmmm… es probable que estés usando el helper h() para escapar los
contenidos, con lo que te escapa los tags que tengas

prueba a quitarle el h() si lo estás usando… eso sí, si el contenido
te lo pasa el usuario tendrás que limpiarlo (en ese caso sería
interesante no permitir el uso de tags html directamente)

saludos,

javier ramírez

no Fernando, no tengo ningún helper en la aplicación. Por el momento no
los estoy usando. Al parecer el problema es otro.

Gracias por tu respuesta.

Fernando G. wrote:

El 7/04/08, javier ramirez [email protected]
escribi�:> contenidos, con lo que te escapa los tags que tengas

prueba a quitarle el h() si lo est�s usando… eso s�, si el contenido
te lo pasa el usuario tendr�s que limpiarlo (en ese caso ser�a
interesante no permitir el uso de tags html directamente)

�Existe alg�n helper que escape el html insertado por el usuria como
h() pero que muestre los bloques de texto entre etiquetas

?

Me explico

inserci�n del usuario: Hola que tal. \n Esto es otra l�nea.

Que renderize:

Hola que <html> tal.

Esto es otra l�nea

Gracias
f.

<%=h loquesea %>

la h esa.

El 07/04/2008, a las 18:31, Jose rafael Camejo
escribió:

Muchas gracias por su respuesta. Disculpa Javier mi ignorancia pero en

El 7/04/08, Guillermo [email protected]
escribió:> http://www.ruby-doc.org/stdlib/libdoc/cgi/rdoc/classes/CGI.html#M000092
Gracias Guillermo,

Pero no me sirve o no lo sé usar:

CGI::escape(‘html de usuario \n y otra línea’)
=> “html+de+usuario+%5Cn+y+otra+l%C3%ADnea”

Me gustaría que esto me devolviera:

html de usuario

y otra línea

Es para renderizar los comentarios introducidos por el usuario… está
guay lo que hace h() de quitar los elementos html que haya introducido
el usuario. Pero me gustaría que además añadiese limitadores

entre
los saltos de carro que el usuario haya introducido para que cuando se
renderice se respeten los párrafos y salga todo en un sólo bloque.

Podría hacer esto:
“html de usuario \n y otra linea”.gsub(/\n/,’
’)
=> “html de usuario
y otra linea”

Pero no queda tan elegante como los

Saludos
f.

hola,

Me gustaría que esto me devolviera:

html de usuario

y otra línea

suponiendo que h() no se coma los \n (que ahora mismo no lo sé), puedes
usar simple_format

simple_format básicamente te convierte cada \n en una pareja de

suerte,

javier ramírez

Acabo de leer el hilo así que igual me equivoco: si lo que buscas es
combinar ambas cosas (eliminar etiquetas y añadir los saltos de línea)
puedes combinar esto

simple_format(sanitize(cadena))

Sanitize elimina las etiquetas y simple_format añade los

y

correspondientes a los saltos de línea.

Hola,

no Fernando, no tengo ningún helper en la aplicación. Por el momento no
los estoy usando. Al parecer el problema es otro.

igual lo que digo es una barbaridad pero… por si acaso.

entiendo que en tu página estás poniendo el tag y el

y que se está enviando como contenido html al browser, no?

lo digo porque si no estás enviando las cosas así, podría ser que el
browser directamente pinte el texto sin procesar al pensar que es un
fichero plano.

si no es esto tampoco, se me han acabado las pilas de la bola de cristal
y ahora ya sí necesitaría ver código.

suerte,

javier ramírez

2008/4/7, Raul M. [email protected]:

Acabo de leer el hilo así que igual me equivoco: si lo que buscas es
combinar ambas cosas (eliminar etiquetas y añadir los saltos de línea)
puedes combinar esto

simple_format(sanitize(cadena))

Sanitize elimina las etiquetas y simple_format añade los

y

correspondientes a los saltos de línea.

Genial Javier y Raul… perfecto.

Aunque el sanitize no me hace nada lo he cambiado por h():

<%= simple_format( h( @text ) ) %>

Gracias
f.

Hola Raul, gracias por tu respuesta. Perdona (otra vez) mi ignorancia,
pero en donde debo agregar “simple_format(sanitize(cadena))”

Gracias Javier, pero las etiquetas está colocadas.

A todos les agreadezco su colaboración.

Raul M. wrote:

Acabo de leer el hilo as� que igual me equivoco: si lo que buscas es
combinar ambas cosas (eliminar etiquetas y a�adir los saltos de l�nea)
puedes combinar esto

simple_format(sanitize(cadena))

Sanitize elimina las etiquetas y simple_format a�ade los

y

correspondientes a los saltos de l�nea.

Excelente Raúl,

Gracias, le quité la “h” y ahora se ve tomando en cuenta el código html.
Tenía como 15 días buscando en google, leyendo tutoriales, pero nada.
Hasta que por fin ya se pudo solucionar.

Gracias, no sabes cuanto estoy agradecido.

Fernando G. wrote:

El 7/04/08, Jose rafael Camejo [email protected]
escribi�:> Hola Raul, gracias por tu respuesta. Perdona (otra vez) mi ignorancia,

pero en donde debo agregar “simple_format(sanitize(cadena))”

Hola Raul,

Perdona pero creo que yo la he liado rob�ndote el hilo.

Si lo que quieres es que se respeten las etiquetas html que haya en el
texto a mostrar debes poner esto en donde quieras de tu archivo de
vista:

<%= @variable_con_tu_texto %>

Si quieres que las etiquetas html que haya en el texto a mostrar no
interfieran con el resto del c�digo html de tu p�gina debes usar esto:

<%=h @variable_con_tu_texto %>

Y olv�date del simple_format y del sanitize porque era para mi pregunta.

Suerte
f.

El 7/04/08, Jose rafael Camejo [email protected]
escribió:> Hola Raul, gracias por tu respuesta. Perdona (otra vez) mi ignorancia,

pero en donde debo agregar “simple_format(sanitize(cadena))”

Hola Raul,

Perdona pero creo que yo la he liado robándote el hilo.

Si lo que quieres es que se respeten las etiquetas html que haya en el
texto a mostrar debes poner esto en donde quieras de tu archivo de
vista:

<%= @variable_con_tu_texto %>

Si quieres que las etiquetas html que haya en el texto a mostrar no
interfieran con el resto del código html de tu página debes usar esto:

<%=h @variable_con_tu_texto %>

Y olvídate del simple_format y del sanitize porque era para mi pregunta.

Suerte
f.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs