我需要去除文档中的所有字体标签。当试图用下面的Ruby代码来实现时,字体标签中的其他元素和文本会丢失。我还尝试遍历所有子元素,并在解除字体标记之前使它们成为字体标记的兄弟,这也会导致HTML丢失。去除可以包含其他元素和/或文本的标签的好方法是什么?如何使用Nokogiri从HTML中删除不需要的标签?
doc.css('font').each do |element|
element.unlink
end
UPDATE(响应于第一溶液):
使用node.children获得孩子,然后移动孩子到字体节点的父节点的问题是,没有一个孩子节点包括在字体节点中找到的文本。只要字体标签被删除(取消链接),字体标签中的所有文本也会从文档中消失。
我修改后的问题是:我如何使用Nokogiri来获取字体节点的文本,以及如何在字体节点的位置上移动此文本以替换字体标记。
谢谢。这与所需要的非常接近。使用HTML内容时,节点的排序很重要。将节点附加到父节点可能最终会导致节点不处于原始顺序。 – sutch 2010-03-17 22:38:20