まず、私の英語が下手で申し訳ありません。
私は以下のようなテーブルを持っています。
<table>
<tr class="_in" id="1">
<td>content</td>
<td>content
<h1>content h1</h1>
</td>
</tr>
<tr class="_in" id="2">
<td>content</td>
<td>content
<table>
<tr>
<td>content</td>
</tr>
</table>
<h2>content h2</h2>
</td>
</tr>
<tr class="_in" id="3">
<td>content</td>
<td>
<table>
<tr>
<td>content</td>
</tr>
</table>
<h3>content h3</h3>
</td>
</tr>
<tr class="_in" id="4">
<td>content</td>
<td>content
<h1>content h3</h1>
</td>
</tr>
<tr class="_in" id="5">
<td>content</td>
<td>content
<h1>content h1</h1>
</td>
</tr>
</table>
ご覧のとおり、正規表現を使用して tr has class="_in" を取得したいのですが、tr には別のテーブルがあり、そのテーブルには別の tr タグがあります。それに加えて、tr には class="_in" 終わりがたくさんあります。</h1></td></tr>
ご覧のとおり、または</h2></td></tr>
またはで終わることができます</h3></td></tr>
私の解決策は使用または演算子ですが、結果がありません。以下は私のコードです
$html=file_get_contents("vnair3.txt");
$parten='/<tr\sclass=\"_in\"[^>]*>.*(?:<\/h1>|<\/h2>|<\/h3>)\s+<\/td>\s+<\/tr>/isU';
preg_match_all($parten,$html,$output);
print_r($output);
各 tr タグが出力配列の各要素に class="_in" を持っているのを手伝ってください。私はphpを使用しています。皆さんありがとう