正規表現で"<h2>〜","<h2>〜"と抜き出すには。
正規表現で苦戦しております。
'<h2>foo</h2>
randomstr
<span>randamstr</span>
<h2>bar</h2>
<div>randomstr</div>
<h2>baz</h2>
randomstr'
このような文字列を
[
[0] => '<h2>foo</h2>randomstr<span>randamstr</span>',
[1] => '<h2>bar</h2><div>randomstr</div>',
[2] => '<h2>baz</h2>randomstr',
]
このようにpreg_match_allなどで抜き出したいのですが、どのように正規表現を書けばよいのでしょうか?