<img>
HTMLファイル内のすべてのタグを<%= image_tag() %>
railsタグに置き換えようとしています。
私がやりたいことは次のようなものです:
doc = open("myfile.html") { |f| Hpricot(f) }
imgs = doc.search("//img") # here i got all Hpricot::Elements
imgs.each { |i|
# fake function name !
i.replace_by_HTML('<%= image_tag("/images/blabla.jpg") %>')
}
必要なのは、ファイル内のノードを、渡す文字列に置き換える関数です。
< img src="/images/blalba.jpg" /> would give => <%= image_tag("/images/blabla.jpg") %>
アップデート:
正規表現を使用したくないので、Hpricotを選択しました。これは、HTMLを解析してから、すべての属性を含めてElement.attributes
生成できるためです。image_tag
私のimgタグが次のような場合はどうなりますか?
< img style="float:left;" src="images/blabla.jpg" width="30" height="30" ... />
また
< img src=\"images/blabla.jpg\" style=\"float:left;\" width=\"30\" height=\"30\" ... />
私が何を意味するのか分かりますか?エスケープスラッシュを含む.SQLファイルを解析する場合があります。src
属性は、別の属性の後にある可能性があります。
image_tag
問題は、私が与えた場合に私のanを返す関数をすでに実行したことですがHpricot::Element
、Hpricotドキュメントで元のノードを私の文字列に置き換える方法がわかりません。