$re = '~<tr>(?:.(?!<tr>))*?<td>.*?</td>(?:.(?!<tr>))*?<td>(.*?)</td>~s';
$str = '<link href="http://www.mhpa.co.uk/reports.css" rel="STYLESHEET" type="text/css" CHARSET="ISO-8859-1">
<table cellpadding=2 cellspacing=0 border=0 width=100%>
<tbody>
<tr>
<td align=right><b>11/09/2013 at 09:48</b></td>
</tr>
</tbody>
</table>
<center>
<table border="1" bordercolor="silver" cellpadding="2" cellspacing="0" width="100%">
<thead>
<tr>
<th width=100>ETA</th>
<th width=100>Ship Name</th>
<th width=80>From port</th>
<th width=80>To berth</th>
<th width=130>Agent</th>
</tr>
</thead>
<tbody>
<tr><td>11/09/2013 at 09:00 </td>
<td>SONANGOL KALANDULA </td>
<td>Cabinda </td>
<td>Valero 6 </td>
<td>Graypen </td>
</tr>
<tr>
<td>11/09/2013 at 11:45 </td>
<td>ISLE OF INISHMORE </td>
<td>Rosslare </td>
<td>PDFT </td>
<td>Irish Ferries </td>
</tr>
<tr>
<td>11/09/2013 at 12:00 </td>
<td>BRO DEVELOPER </td>
<td>Avonmouth </td>
<td>Valero 8 </td>
<td>GAC </td>
</tr>
<tr>
<td>11/09/2013 at 14:00 </td>
<td>WELSH PIPER </td>
<td>Sea </td>
<td>POP No 1 </td>
<td>Tarmac Marine Dredging Ltd </td>
</tr>
<tr>
<td>11/09/2013 at 22:00 </td>
<td>PATRICIA </td>
<td>Le Havre </td>
<td>Murco 1 </td>
<td>GAC </td>
</tr>
<tr>
<td>12/09/2013 at 05:00 </td>
<td>BRO DESIGNER </td>
<td>Plymouth </td>
<td>Murco 2 </td>
<td>Graypen </td>
</tr>
<tr>
<td>12/09/2013 at 06:00 </td>
<td>BASTOGNE </td>
<td>Mongstad </td>
<td>Valero 3 </td>
<td>Denholm Wilhelmsen Ltd </td>
</tr>
<tr>
<td>12/09/2013 at 06:00 </td>
<td>MINERVA GRACE </td>
<td>Ras Lanuf </td>
<td>Valero 1 </td>
<td>Graypen </td>
</tr>
<tr>
<td>12/09/2013 at 06:00 </td>
<td>LEANDER </td>
<td>Dublin </td>
<td>Murco 2 </td>
<td>Graypen </td>
</tr>
<tr>
<td>12/09/2013 at 07:00 </td>
<td>THUN GLOBE </td>
<td>Cardiff </td>
<td>Valero 7 </td>
<td>GAC </td>
</tr>
<tr>
<td>13/09/2013 at 06:00 </td>
<td>THUN GENIUS </td>
<td>Dublin </td>
<td>Valero </td>
<td>GAC </td>
</tr>
<tr>
<td>13/09/2013 at 11:00 </td>
<td>CAP LEON </td>
<td>Arzew </td>
<td>Valero 6 </td>
<td>Graypen </td>
</tr>
<tr>
<td>13/09/2013 at 19:00 </td>
<td>STOLT TEAL </td>
<td>TBA </td>
<td>Valero 1 </td>
<td>Cory Bros </td>
</tr>
<tr>
<td>14/09/2013 at 16:00 </td>
<td>B GAS LANRICK </td>
<td>Antwerp </td>
<td>Murco 3 </td>
<td>S5 Agency World </td>
</tr>
<tr>
<td>15/09/2013 at 09:00 </td>
<td>BAYAMO </td>
<td>TBA </td>
<td>Valero </td>
<td>Graypen </td>
</tr>
<tr>
<td>15/09/2013 at 09:00 </td>
<td>AMADEA </td>
<td>Cork </td>
<td>Milford Shelf </td>
<td>Inchcape Shipping Services </td>
</tr>
<tr>
<td>15/09/2013 at 12:00 </td>
<td>ARRAN </td>
<td>Dublin </td>
<td>Valero </td>
<td>Graypen </td>
</tr>
<tr>
<td>16/09/2013 at 01:00 </td>
<td>EKFJORD </td>
<td>Gothenburg </td>
<td>Murco 1 </td>
<td>Cory Bros </td>
</tr>
<tr>
<td>16/09/2013 at 21:30 </td>
<td>MOZAH </td>
<td>Ras Laffan </td>
<td>South Hook No 1 </td>
<td>S5 Agency World </td>
</tr>
<tr>
<td>17/09/2013 at 07:00 </td>
<td>STRIDE </td>
<td>Murmansk </td>
<td>Valero 6 </td>
<td>Graypen </td>
</tr>
</tbody>
</table>
</center>';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php