Я не могу разобрать неправильно встроенные теги HTML.Есть ли способ удалить все html-теги из узла и сохранить весь текст?
Я использую код:
rows = doc.search('//table[@id="table_1"]/tbody/tr')
details = rows.collect do |row|
detail = {}
[
[:word, 'td[1]/text()'],
[:meaning, 'td[6]/font'],
].collect do |name, xpath|
detail[name] = row.at_xpath(xpath).to_s.strip
end
detail
end
Используя Xpath:
[:meaning, 'td[6]/font']
генерирует
:meaning: ! '<font size="3">asking for information specifying <font
color="#CC0000" size="3">what is your name?</font> /what/ as in, <font color="#CC0000" size="3">I'm not sure what you mean</font>
/what/ as in <a style="text-decoration: none;" href="http://somesecretlink.com">what</a></font>
С другой стороны, используя Xpath:
'td/font/text()'
генерирует
:meaning: asking for information specifying
, игнорируя все дочерние узлы.Чего я хочу добиться, так это
:meaning: asking for information specifying what is your name? /what/ as in, I'm not sure what you mean /what/ as in what? I can't hear you