2
그래서 nokogiri를 사용하여 html 페이지를 파싱했습니다.어떻게 Nokogiri를 통해 구문 분석 된 html 페이지를 조작 할 수 있습니까?
내가 제대로 작동하려면 나타나지 않습니다 링크
.wrap()
puts doc.xpath("//a").wrap("<b></b>");
은 평범하지 않은 규칙적으로 변경되지 않은 html을 반환합니다.
그래서 nokogiri를 사용하여 html 페이지를 파싱했습니다.어떻게 Nokogiri를 통해 구문 분석 된 html 페이지를 조작 할 수 있습니까?
내가 제대로 작동하려면 나타나지 않습니다 링크
.wrap()
puts doc.xpath("//a").wrap("<b></b>");
은 평범하지 않은 규칙적으로 변경되지 않은 html을 반환합니다.
이것은 wrap
의 결함입니다. 여기에 소스 대신 new_parent
와 j
을 대체하는,
# File lib/nokogiri/xml/node_set.rb, line 212
def wrap(html, &blk)
each do |j|
new_parent = Nokogiri.make(html, &blk)
j.parent.add_child(new_parent)
new_parent.add_child(j)
end
self
end
당신이 볼 수 있듯이, 그것은 j
의 형제 자매의 끝에 new_parent
을 추가합니다. 다음과 같이 원하는대로 할 수 있습니다.
doc.search('//a').each do |j|
new_parent = Nokogiri::XML::Node.new('b',doc)
j.replace new_parent
new_parent << j
end
정말 고마워요! 이것은 그것을했다! – fjfjwo