假设有一个表示HTML的字符串"html",我该如何将其拆分为一个数组,其中每个标题<h
都标记了一个元素的开头?
从这里开始:
<h1>A</h1>
<h2>B</h2>
<p>Foobar</p>
<h3>C</h3>
结果:
["<h1>A</h1>", "<h2>B</h2><p>Foobar</p>", "<h3>C</h3>"]
我尝试过的方法:
我想使用带有正则表达式的Array.split()
,但结果将每个<h
都拆分成自己的元素。 我需要找出如何从一个<h
的开头捕获到下一个<h
。 然后包括第一个但不包括第二个。
var html = '<h1>A</h1><h2>B</h2><p>Foobar</p><h3>C</h3>';
var foo = html.split(/(<h)/);
编辑: 正则表达式并不是必需的,它只是我认为可以通用地分割HTML字符串的唯一解决方案。
document.createDocumentFragment()
。 - Andreas Louv