將此HTML指定爲字符串「html」,如何將其拆分爲數組,其中每個標頭<h
表示元素的開始?按特定標記將HTML字符串拆分爲數組
開始使用此:
<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字符串工作的唯一解決方案。
爲什麼要使用正則表達式是什麼? – Tomalak
如果有一種方法不使用正則表達式,我完全願意使用它:) –
您使用的是地球上最先進的HTML解析器中託管的語言,而不是使用這些HTML解析功能有點愚蠢。 – Tomalak