# Html to plain text

**URL:** <https://www.ruby-forum.com/t/html-to-plain-text/107660>\
**Category:** Ruby\
**Created:** [June 24, 2007, 9:41pm UTC](https://www.ruby-forum.com/t/html-to-plain-text/107660 "2007-06-24T21:41:49Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![banry](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/898d66/32.png) [@banry](https://www.ruby-forum.com/u/banry)\
**Post date:** [June 24, 2007, 9:41pm UTC](https://www.ruby-forum.com/t/html-to-plain-text/107660/1 "2007-06-24T21:41:49Z")

</div>

Okay, I have played with Hpricot and I am a convert. Amazing stuff.

I am struggling up to speed and I can’t find what must be a basic  
function. I’ve scraped the FAA site and they store all their stuff  
wrapped in td’s, wrapped in tr’s, wrapped in tables. Thank you  
Hpricot.

Now that I have “ **Manufacturer** ” isn’t there a simple call to get  
rid of the last bit of html?

Thanks,  
–Colin

---

<div class="post-metadata">

**Author:** ![banry](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/898d66/32.png) [@banry](https://www.ruby-forum.com/u/banry)\
**Post date:** [June 24, 2007, 10:03pm UTC](https://www.ruby-forum.com/t/html-to-plain-text/107660/2 "2007-06-24T22:03:52Z")

</div>

Hi Colin, consult api doc for Hpricot.inner\_text:

require ‘rubygems’  
require ‘hpricot’  
require ‘open-uri’  
doc = open( ‘[Google](http://www.google.com/ncr)’ ) { |io| Hpricot io }  
doc.inner\_text

Regards  
Florian

---

<div class="post-metadata">

**Author:** ![banry](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/898d66/32.png) [@banry](https://www.ruby-forum.com/u/banry)\
**Post date:** [June 24, 2007, 10:06pm UTC](https://www.ruby-forum.com/t/html-to-plain-text/107660/3 "2007-06-24T22:06:53Z")

</div>

On Jun 24, 1:40 pm, “Colin S.” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Thanks,  
> –Colin

It looks like you’re looking for the inner\_text method.

HTH,  
Chris

---

<div class="post-metadata">

**Author:** ![banry](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/898d66/32.png) [@banry](https://www.ruby-forum.com/u/banry)\
**Post date:** [June 24, 2007, 10:32pm UTC](https://www.ruby-forum.com/t/html-to-plain-text/107660/4 "2007-06-24T22:32:56Z")

</div>

On 6/24/07, Todd B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> The following does:
> 
> require ‘rubygems’  
> require ‘hpricot’  
> html\_string = ‘ **Manufacturer** ’  
> html\_data = Hpricot html\_string  
> html\_element = html\_data / “b”  
> puts html\_element.inner\_html

Another “jump too soon moment”.

In the above code, I didn’t point out that html\_element should be  
plural. It still works though, but technically the grammatically  
correct way would be:

require ‘rubygems’  
require ‘hpricot’  
html\_string = ‘ **Manufacturer** ’  
html\_data = Hpricot html\_string  
html\_elements = html\_data / “b”  
first\_b\_element = html\_data.at “b”  
first\_b\_element\_also = (html\_data / “b”).first  
puts first\_b\_element.inner\_html

Todd

---

<div class="post-metadata">

**Author:** ![banry](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/898d66/32.png) [@banry](https://www.ruby-forum.com/u/banry)\
**Post date:** [June 24, 2007, 10:17pm UTC](https://www.ruby-forum.com/t/html-to-plain-text/107660/5 "2007-06-24T22:17:54Z")

</div>

On 6/24/07, Florian Aßmann [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Hi Colin, consult api doc for Hpricot.inner\_text:
> 
> require ‘rubygems’  
> require ‘hpricot’  
> require ‘open-uri’  
> doc = open( ‘[Google](http://www.google.com/ncr)’ ) { |io| Hpricot io }  
> doc.inner\_text  
> ^^^^^^^  
> This code (above) doesn’t work on my system.

The following does:

require ‘rubygems’  
require ‘hpricot’  
html\_string = ‘ **Manufacturer** ’  
html\_data = Hpricot html\_string  
html\_element = html\_data / “b”  
puts html\_element.inner\_html

Todd
