preg_match_all
<div><br />
<h1>标题1</h1><br />
<p>内容1</p><br />
<p>内容2</p><br />
<h1>标题2</h1><br />
<p>内容1</p><br />
<p>内容2</p><br />
<p>内容3</p><br />
<p>内容4</p><br />
<h1>标题3</h1><br />
<p>内容1</p><br />
<p>内容2</p><br />
<p>内容3</p><br />
</div>
のキャプチャについて
preg_match_all() を使用して、コンテンツを 4a249f0d628e2318394fd9b75b4636b1 から次の 4a249f0d628e2318394fd9b75b4636b1、つまり
までループしたいと考えています。
4a249f0d628e2318394fd9b75b4636b1タイトル 1473f0a7621bec819994bb5020d29372a
e388a4556c0f65e1904146cc1a846beeコンテンツ 194b3e26ee717c64999d7867364b1b4a3
e388a4556c0f65e1904146cc1a846beeコンテンツ 294b3e26ee717c64999d7867364b1b4a3
-----------<🎜>
4a249f0d628e2318394fd9b75b4636b1タイトル 2473f0a7621bec819994bb5020d29372a
e388a4556c0f65e1904146cc1a846beeコンテンツ 194b3e26ee717c64999d7867364b1b4a3
e388a4556c0f65e1904146cc1a846beeコンテンツ 294b3e26ee717c64999d7867364b1b4a3
e388a4556c0f65e1904146cc1a846beeコンテンツ 394b3e26ee717c64999d7867364b1b4a3
e388a4556c0f65e1904146cc1a846beeコンテンツ 494b3e26ee717c64999d7867364b1b4a3
-----------<🎜>
4a249f0d628e2318394fd9b75b4636b1タイトル 3473f0a7621bec819994bb5020d29372a
e388a4556c0f65e1904146cc1a846beeコンテンツ 194b3e26ee717c64999d7867364b1b4a3
e388a4556c0f65e1904146cc1a846beeコンテンツ 294b3e26ee717c64999d7867364b1b4a3
e388a4556c0f65e1904146cc1a846beeコンテンツ 394b3e26ee717c64999d7867364b1b4a3
を使ってみようと思いました
ただし、この方法でキャッチした場合、2 番目の
は最初の 4a249f0d628e2318394fd9b75b4636b1 によってすでに使用されているため、他のすべてはスキップされます。
preg_match_all('/<h1>[\w\W]*<(h1|\/div)/U',$html, $out)
-----解決策---------
preg_match_all('/<div>(.*)<\/div>/is', $str, $m);<br />
$m = explode('<h1>', substr($m[1][0], 5));<br />
foreach($m as $x)<br />
echo htmlspecialchars ("<h1>$x") . '<br/>';