2

私はこのようなhtmlを持っています:

<textarea id='embed'>
   <iframe frameborder='0' width='728' height='450' src='http://somelink'>
   </iframe> some more text
</textarea>

私のコードは次のとおりです。

doc.at('textarea[@id="embed"]').content

ただし、これはsome more text

iframeテキスト領域全体(リンクをそのまま含む)を取得したい。だから最後に私はこれが欲しい:

<iframe frameborder='0' width='728' height='450' src='http://somelink'>
   </iframe> some more text
4

1 に答える 1

5

を使用し.inner_htmlます。

[1] pry(main)> require 'nokogiri'
=> true
[2] pry(main)> noko = Nokogiri::HTML("<textarea id='embed'>
[2] pry(main)*    <iframe frameborder='0' width='728' height='450' src='http://www.dailymotion.com/embed/video/xvnu79'>
[2] pry(main)*    </iframe> some more text
[2] pry(main)* </textarea>");
[3] pry(main)> noko.css("#embed").inner_html
=> "<iframe frameborder=\"0\" width=\"728\" height=\"450\" src=\"http://www.dailymotion.com/embed/video/xvnu79\">\n   </iframe> some more text\n"

編集:.inner_html上記のXPathセレクターでも使用できます。

于 2012-12-07T03:43:05.350 に答える