[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

unescaping html

Vivek

8/18/2008 11:41:00 AM

Hi,
Is there a method or any library which allows me to unescape encoded
html. For example If I have hi%5Bthere%5D
I should get hi[there]

vivek
4 Answers

Michael Morin

8/18/2008 12:14:00 PM

0

Vivek wrote:
> Hi,
> Is there a method or any library which allows me to unescape encoded
> html. For example If I have hi%5Bthere%5D
> I should get hi[there]
>
> vivek
>

I believe you're looking for the CGI::unescape method. If for some
reason you don't have that, you can do a simple gsub like this, though
it can fail in many ways and only handles hex entities.

gsub(/%([[:xdigit:]]{2})/) {|c| $1.hex.chr }

--
Michael Morin
Guide to Ruby
http://ruby....
Become an About.com Guide: beaguide.about.com
About.com is part of the New York Times Company

Emmanuel Oga

8/18/2008 12:33:00 PM

0

Vivek wrote:
> Hi,
> Is there a method or any library which allows me to unescape encoded
> html. For example If I have hi%5Bthere%5D
> I should get hi[there]
>
> vivek

encoded _HTML_ ? what you will need is hpricot (which is amazing :-)

require 'rubygems'
require 'hpricot'

Hpricot("hi>there<", :xhtml_strict => true).to_plain_text # =>
"hi>there<"

But! from your example seems like you don't want to unescape html but
the url:

require 'cgi'

CGI.unescape "hi%5Bthere%5D"
=> "hi[there]"

Greets!



--
Posted via http://www.ruby-....

Lars Christensen

8/18/2008 12:42:00 PM

0

On Aug 18, 1:41 pm, Vivek <krishna.vi...@gmail.com> wrote:
>  Is there a method or any library which allows me to unescape encoded
> html. For example If I have hi%5Bthere%5D
> I should get hi[there]

I think you mean encoded URL, not encoded HTML. For URL encoding, you
can use URL.unescape, or CGI.unescape as Michael sugests.

HTML escaping is a bit more complex, but the CGI has some methods,
e.g. CGI.escapeHTML/CGI.unescapeHTML.

Vivek

8/18/2008 1:17:00 PM

0

Thanks for the replies , actually I want to unescape some form
parameters which contain [ and ] .
The CGI.unescape works..Is it a superset of what URL.unescape does?

On Aug 18, 5:41 pm, Lars Christensen <lar...@belunktum.dk> wrote:
> On Aug 18, 1:41 pm, Vivek <krishna.vi...@gmail.com> wrote:
>
> >  Is there a method or any library which allows me to unescape encoded
> > html. For example If I have hi%5Bthere%5D
> > I should get hi[there]
>
> I think you mean encoded URL, not encoded HTML. For URL encoding, you
> can use URL.unescape, or CGI.unescape as Michael sugests.
>
> HTML escaping is a bit more complex, but the CGI has some methods,
> e.g. CGI.escapeHTML/CGI.unescapeHTML.