【发布时间】:2013-07-08 04:42:05
【问题描述】:
我有一个 HTML 文档作为字符串。我使用 Nokogiri 解析它:
doc_str = <<-mydoc
<p>Lorem ipsum dolor sit foo.</p>
<h2>Consectetur adipisicing bar</h2>
<p>Foo do <a href="/c-foo.aspx" class = "foo" title="Foo bar.">foofoo foo</a>.</p>
mydoc
doc = Nokogiri::HTML doc_str
我想在所有可见文本中将 "foo" / "Foo" 替换为 "Bar" / "bar":
desired = <<-mydoc
<p>Lorem ipsum dolor sit bar.</p>
<h2>Consectetur adipisicing bar</h2>
<p>Bar do <a href="/c-foo.aspx" class = "foo" title="Bar bar.">foofoo bar</a>.</p>
mydoc
我该怎么做?
我试图阅读Nokogiri tutorial,它描述了Nokogiri::HTML::Document#at_css。使用 Ruby 2.0 和最新的 Nokogiri,doc.at_css 'h1' 返回nil,所以h1.content = "something" 甚至是不可能的。
即使它有效,也只是解决我的查找和替换问题的第一步。
【问题讨论】: