における単一preg_match_allで複数のパターンを探しますうまく:PHPとpreg_match_allは、私は、次のタグ(ともタグ)との間のすべてのHTMLコンテンツを取得しようとしている使用してPHP
preg_match_all("(<p>(.*)</p>)siU", $content, $matches, PREG_SET_ORDER);
は、単一のプリプレグを持つすべての
<p></p> <ul></ul> <table></table>
コンテンツを取得する方法はあります_match_all?私は彼らが見つかった順番に出てくる必要があるので、私は内容をエコーすることができ、それは意味をなさないでしょう。
<p>paragraph text</p>
<ul><li>item 1</li><li>item 2</li></ul>
<table><tr><td>table content</td></tr></table>
のためのこの1つの作業は、[XMLパーサを使用してください。](http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454) – eykanal
@mario:実際にはちょっと誇張されています。重要な点は、「正規表現は、HTMLで採用されている構文を理解するには十分に洗練されていないツールです.HTMLは正規言語ではないため、正規表現では解析できません」 – netcoder
[XMLパーサーを使用する](http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454)(先に進む、フラグこのコメントもあります) – Will