0
我有一些HTML,像这样:设置属性然后返回结果为一个字符串
html = "<h1>Title One</h1>\n\n<p>blah blah</p>\n\n<h1>Title Two</h1>\n\n<p>blah blah</p>\n"
我需要给一个id属性给每个h1
元素,其中id的值是文本在h1
,然后返回整个事情作为一个字符串再次,所以结果是这样的:
"<h1 id="title-one">Title One</h1>\n\n<p>blah blah</p>\n\n<h1 id="title-two">Title Two</h1>\n\n<p>blah blah</p>\n"
我已经尝试了很多不同的东西,我已经能够设置的属性,但不转它回到一个字符串。
基本上,我想要做这样的事情,但显然这并不工作:
new_html = Nokogiri::HTML.parse(html).xpath('//body').children do |el|
if el.name == 'h1'
id = el.children.text.parameterize
el.set_attribute('id', id)
end
end
new_html.to_s
任何想法?