将一串html,切碎并将每个部分放入数组中的最佳方法是什么?

Spe*_*ley 1 ruby regex arrays text-processing

我对如何做到这一点有一个总体的想法,但无法确定如何完成它.我相信它可以用某种正则表达式来完成.想知道这里是否有人可以指出我正确的方向.

如果我有一串这样的html

some_html = '<div><b>This is some BOLD text</b></div>'
Run Code Online (Sandbox Code Playgroud)

我想将它分成逻辑部分,然后将这些部分放入一个数组中,这样我就会得到这样的结果

html_array = ["<div>", "<b>", "This is some BOLD text", "</b>","</div>" ]
Run Code Online (Sandbox Code Playgroud)

Dty*_*Dty 5

我没有使用正则表达式,而是使用nokogiri gem(用于解析由Aaron Patterson编写的html的宝石--Rails和Ruby的贡献者).以下是如何使用它的示例:

html_doc = Nokogiri::HTML("<html><body><h1>Mr. Belvedere Fan Club</h1></body></html>")
Run Code Online (Sandbox Code Playgroud)

然后,您可以调用html_doc.children以获取节点集并从那里开始工作

html_doc.children  # returns a nodeset
Run Code Online (Sandbox Code Playgroud)