Unescaping html

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

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 }

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 :slight_smile:

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!

On Aug 18, 1:41 pm, Vivek [email protected] 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.

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?

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