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

WBOY
リリース: 2016-06-13 12:55:11
オリジナル
884 人が閲覧しました

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() を使用して、コンテンツを

から次の

、つまり
までループしたいと考えています。

タイトル 1


コンテンツ 1


コンテンツ 2


-----------<🎜>

タイトル 2


コンテンツ 1


コンテンツ 2


コンテンツ 3


コンテンツ 4


-----------<🎜>

タイトル 3


コンテンツ 1


コンテンツ 2


コンテンツ 3




を使ってみようと思いました

ただし、この方法でキャッチした場合、2 番目の

は最初の

によってすでに使用されているため、他のすべてはスキップされます。
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/>';
ログイン後にコピー

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!