如何在不使用Nokogiri的情况下替换ruby中的html标签?

时间:2011-12-16 21:18:44

标签: html ruby nokogiri

我正在尝试用HTMl文档中的文本替换<blockquote>标记。我开始使用Nokogiri来做这件事。问题是我传递给Nokogiri的HTML包含像<my_mail@gmail.com>这样的文本,nokogiri将其视为标记。输出全部搞砸了,因为Nokogiri试图通过将</my_mail>添加到html doc来纠正“标记”。

如何在Nokogiri中关闭此自动校正的任何想法,还是有其他任何宝石可以用来做这个而不会搞砸输出?

1 个答案:

答案 0 :(得分:3)

在向Nokogiri发送字符串之前,您可以在邮件中转义<>

>> "<html><body><my_mail@gmail.com></body></html>".gsub(/<([^<]+@[^>]+)>/,'&lt;\1&gt;')
=> "<html><body>&lt;my_mail@gmail.com&gt;</body></html>"