| Module | FeedParser |
| In: |
lib/feedparser/html2text-parser.rb
lib/feedparser/html-output.rb lib/feedparser/feedparser.rb lib/feedparser/text-output.rb lib/feedparser/sgml-parser.rb |
A parser for SGML, using the derived class as static DTD. from raa.ruby-lang.org/project/html-parser
| VERSION | = | "0.7" |
# File lib/feedparser/feedparser.rb, line 318
318: def FeedParser::getcontent(e, feed = nil)
319: encoding = feed ? feed.encoding : 'utf-8'
320: children = e.children.reject do |i|
321: i.class == REXML::Text and i.to_s.chomp == ''
322: end
323: if children.length > 1
324: s = ''
325: children.each do |c|
326: s += c.to_s if c.class != REXML::Comment
327: end
328: return s.toUTF8(encoding).rmWhiteSpace!.text2html(feed)
329: elsif children.length == 1
330: c = children[0]
331: if c.class == REXML::Text
332: return e.text.toUTF8(encoding).rmWhiteSpace!.text2html(feed)
333: elsif c.class == REXML::CData
334: return c.to_s.toUTF8(encoding).rmWhiteSpace!.text2html(feed)
335: elsif c.class == REXML::Element
336: # only one element. recurse.
337: return getcontent(c, feed)
338: elsif c.text
339: return c.text.toUTF8(encoding).text2html(feed)
340: end
341: end
342: end