title: Extract content from each first TD in a Table
body: <p>I've got some HTML that looks like this:</p>
  
  <pre><code>&lt;tr class="row-even"&gt;
      &lt;td align="center"&gt;abcde&lt;/td&gt;
      &lt;td align="center"&gt;&lt;a href="deluserconfirm.html?user=abcde"&gt;&lt;img src="../images/delete_x.gif" alt="Delete User" border="none" /&gt;&lt;/a&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr class="row-odd"&gt;
      &lt;td align="center"&gt;efgh&lt;/td&gt;
      &lt;td align="center"&gt;&lt;a href="deluserconfirm.html?user=efgh"&gt;&lt;img src="../images/delete_x.gif" alt="Delete User" border="none" /&gt;&lt;/a&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr class="row-even"&gt;
      &lt;td align="center"&gt;ijkl&lt;/td&gt;
      &lt;td align="center"&gt;&lt;a href="deluserconfirm.html?user=ijkl"&gt;&lt;img src="../images/delete_x.gif" alt="Delete User" border="none" /&gt;&lt;/a&gt;&lt;/td&gt;
  &lt;/tr&gt;
  </code></pre>
  
  <p>And I need to retrieve the values, <code>abcde</code>, <code>efgh</code>, and <code>ijkl</code></p>
  
  <p>This is the regex I'm currently using:</p>
  
  <pre><code>preg_match_all('/(&lt;tr class="row-even"&gt;|&lt;tr class="row-odd"&gt;)&lt;td align="center"&gt;(.*)&lt;\/td&gt;&lt;\/tr&gt;/xs', $html, $matches);
  </code></pre>
  
  <p>Yes, I'm not very good at them. As with most of my regex attempts, this is not working. Can anyone tell me why?</p>
  
  <p><strong>Also, I know about html/xml parsers, but it would require a significant code revisit to make that happen. So that's for later. We need to stick with regex for now.</strong></p>
  
  <p>EDIT: To clarify, I need the values between the first <code>&lt;td align="center"&gt;&lt;/td&gt;</code> tag after either <code>&lt;tr class="row-even"&gt;</code> or <code>&lt;tr class="row-odd"&gt;</code></p>