我想对HTML字符串的:
进行简单的拆分,同时保留基础HTML格式。
假设我有这样的数据结构,用HTML呈现:
b列列a:数据的数据
但底层HTML可能是
<p>Data for <span style="font-weight: bold">column a: data</span> for column b</p>
我的输出最好是
cola = '<p>Data for <span style="font-weight: bold">column a</span></p>'
colb = '<p><span style="font-weight: bold">data</span> for column b</p>'
或更复杂的例子。
我正在使用Ruby&amp;引入nokogiri。
答案 0 :(得分:0)
doc = Nokogiri::HTML::fragment '<p>Data for <span style="font-weight: bold">column a: data</span> for column b</p>'
a, b = doc.css('span').text.split ':'
cola = '<p>Data for <span style="font-weight: bold">' + a + '</span></p>'
colb = '<p><span style="font-weight: bold">' + b + '</span> for column b</p>'
答案 1 :(得分:0)
我最终解决了这个问题。 My solution on Github
基本上,我对Nokogiri片段进行了前序遍历,只搜索文本节点,直到找到分隔符。一旦找到,我就像分割任何字符串一样拆分文本节点。然后我删除了在前序遍历期间遇到的所有节点。这清除了“右侧”。
然后我跟着对同一个初始Nokogiri片段的后序遍历,如上所述,删除所有节点,直到我遇到包含我的分隔符的文本节点。这清除了“左侧”