我有一些看起来像这样的 HTML:
<tr class="row-even">
<td align="center">abcde</td>
<td align="center"><a href="deluserconfirm.html?user=abcde"><img src="../images/delete_x.gif" alt="Delete User" border="none" /></a></td>
</tr>
<tr class="row-odd">
<td align="center">efgh</td>
<td align="center"><a href="deluserconfirm.html?user=efgh"><img src="../images/delete_x.gif" alt="Delete User" border="none" /></a></td>
</tr>
<tr class="row-even">
<td align="center">ijkl</td>
<td align="center"><a href="deluserconfirm.html?user=ijkl"><img src="../images/delete_x.gif" alt="Delete User" border="none" /></a></td>
</tr>
我需要检索值abcde
、、、efgh
和ijkl
这是我目前使用的正则表达式:
preg_match_all('/(<tr class="row-even">|<tr class="row-odd">)<td align="center">(.*)<\/td><\/tr>/xs', $html, $matches);
是的,我不太擅长它们。与我的大多数正则表达式尝试一样,这不起作用。谁能告诉我为什么?
另外,我知道 html/xml 解析器,但它需要大量的代码重新访问才能实现。所以以后再说吧。我们现在需要坚持使用正则表达式。
编辑:为了澄清,我需要或<td align="center"></td>
之后的第一个标签之间的值<tr class="row-even">
<tr class="row-odd">