Forum: Rails-ES Convertir caracteres especiales en html entities

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
6f952bee7570a3db2ecba5b06c0062b3?d=identicon&s=25 Fernando Guillen (fguillen)
on 2009-05-15 00:46
(Received via mailing list)
Hola gente estoy buscando como convertir caracteres no ASCII desde un
clase cualquiera.

He econtrado esto:
* http://htmlentities.rubyforge.org/

Y parece que va bien, pero quería preguntar si Rails ya viene con algo
parecido.. sé que tiene que tenerlo pues al precargar los campos de un
formulario escapa correctamente los caracteres problemáticos como las
comillas '"'

He probado con CGI::escape

>> CGI::escape("hola\"hola\"")
=> "hola%22hola%22"

Pero no me genera html entities.

Bueno.. a ver quién el primero que me da con google en la cabeza :)

Saludos
f.
6f952bee7570a3db2ecba5b06c0062b3?d=identicon&s=25 Fernando Guillen (fguillen)
on 2009-05-15 01:04
(Received via mailing list)
El día 15 de mayo de 2009 0:45, Fernando Guillen
<fguillen.mail@gmail.com>
escribió:
> He probado con CGI::escape
>
>>> CGI::escape("hola\"hola\"")
> => "hola%22hola%22"
>

Joer.. nada.. ya me ha respondido el Alvaro Bautista por la lista
directa:

http://www.ruby-doc.org/core/classes/CGI.html#M000560

Lo tenía delante y ni me ha mordido ni nada.

f.
7223c62b7310e164eb79c740188abbda?d=identicon&s=25 Xavier Noria (fxn)
on 2009-05-15 08:52
(Received via mailing list)
2009/5/15 Fernando Guillen <fguillen.mail@gmail.com>:

> He econtrado esto:
> * http://htmlentities.rubyforge.org/
>
> Y parece que va bien, pero quería preguntar si Rails ya viene con algo
> parecido..

Compañero :)

Para escapar caracteres no validos en HTML como "<" Rails usa un
metodo de ERb que pone disponible en las vistas como h().

Para escapar no-ASCII en general, por ejemplo obtener "&ntilde;" de
"ñ", hay que usar la gema.
6f952bee7570a3db2ecba5b06c0062b3?d=identicon&s=25 Fernando Guillen (fguillen)
on 2009-05-15 11:25
(Received via mailing list)
El día 15 de mayo de 2009 8:51, Xavier Noria <fxn@hashref.com>
escribió:> Para escapar caracteres no validos en HTML como "<" Rails usa un
> metodo de ERb que pone disponible en las vistas como h().

Sip.. lo estuve mirando pero sólo convierte los <, > y los &:

HTML_ESCAPE    =    { '&' => '&amp;', '>' => '&gt;', '<' => '&lt;', '"'
=> '&quot;' }

>
> Para escapar no-ASCII en general, por ejemplo obtener "&ntilde;" de
> "ñ", hay que usar la gema.

Al final como me dijo Alvaro Bautista.. puedo usar CGI::escapeHTML

http://www.ruby-doc.org/core/classes/CGI.html#M000560

Gracias

f.
7223c62b7310e164eb79c740188abbda?d=identicon&s=25 Xavier Noria (fxn)
on 2009-05-15 12:26
(Received via mailing list)
2009/5/15 Fernando Guillen <fguillen.mail@gmail.com>:

> Sip.. lo estuve mirando pero sólo convierte los <, > y los &:
>
> HTML_ESCAPE     =       { '&' => '&amp;', '>' => '&gt;', '<' => '&lt;', '"'
> => '&quot;' }
>
>>
>> Para escapar no-ASCII en general, por ejemplo obtener "&ntilde;" de
>> "ñ", hay que usar la gema.
>
> Al final como me dijo Alvaro Bautista.. puedo usar CGI::escapeHTML

No se si te entiendo... h() y CGI::escapeHTML hacen lo mismo.
6f952bee7570a3db2ecba5b06c0062b3?d=identicon&s=25 Fernando Guillen (fguillen)
on 2009-05-15 12:43
(Received via mailing list)
El día 15 de mayo de 2009 12:25, Xavier Noria <fxn@hashref.com>
escribió:>>
>> Al final como me dijo Alvaro Bautista.. puedo usar CGI::escapeHTML
>
> No se si te entiendo... h() y CGI::escapeHTML hacen lo mismo.

Madre mía.. tienes
razón:
>> ERB::Util.h('hóla "sí sí"')
=> "hóla &quot;sí sí&quot;"
>> CGI::escapeHTML('hóla "sí sí"')
=> "hóla &quot;sí sí&quot;"
>> ERB::Util.html_escape('hóla "sí sí"')
=> "hóla &quot;sí sí&quot;"

En fín .. que ando un poco espeso :), de todos modos esto me sirve.

Gracias again

f.
This topic is locked and can not be replied to.