Сначала путь наименьшего сопротивления может показаться регулярным, но затем, когда вы пропускаете через него больше текста, вы понимаете, что он ломается снова и снова и заставляет вас работать больше.Вот почему опытные программисты знают, что для такой распространенной проблемы используют парсеры XML / DOM.
Я рекомендую вам использовать Nokogiri, а не Hpricot, потому что он быстрее и лучше поддерживается.
https://github.com/rgrove/sanitize/
Sanitize использует Nokogiri, чтобы делать именно то, что вы делаете.