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 チュートリアルを読んでみましたNokogiri::HTML::Document#at_css
。Ruby 2.0 と最新の Nokogiri を使用すると、doc.at_css 'h1'
が返さnil
れるため、h1.content = "something"
不可能です。
機能したとしても、検索と置換の問題を解決するための最初のステップにすぎません。