ホームページ >バックエンド開発 >PHPチュートリアル >preg_match_all のキャプチャの問題を解決する方法

preg_match_all のキャプチャの問題を解決する方法

WBOY
WBOYオリジナル
2016-06-13 12:55:11928ブラウズ

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/>';

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。