首先,对不起我的英语,它不好。
我有如下表。
<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 具有 class="_in",但在 tr 中有另一个表,并且在该表中有另一个 tr 标记。除此之外, tr 以多种方式结束 class="_in" 。如您所见,它可以以</h1></td></tr>
or </h2></td></tr>
or结尾</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。谢谢大家