Почему эта команда Nokogiri удаляет теги HTML?


person Aaron B. Russell    schedule 08.07.2010    source источник


Ответы (1)


Оберните элемент тегом p только в том случае, если это текстовый узел, в противном случае вызовите для него to_html:

require 'nokogiri'

html = 'bad<p>markup</p>with<img src="foo.jpg">'

Nokogiri::HTML(html).at_css('body').
children.map do |x|
  if x.text?
    '<p>' + x.text + '</p>'
  else
    x.to_html
  end
end.join('') 
#=> "<p>bad</p>\n<p>markup</p><p>with</p><img src=\"foo.jpg\">"
person Adrian    schedule 08.07.2010
comment
А, хорошо, это имеет смысл. Спасибо! :) - person Aaron B. Russell; 08.07.2010