Generally using your own regexps to parse HTML is a bad idea. I'm not PHP programmer, but I'd be pretty confident there should be HTML parsing libraries available to do this kind of task.
This will give you all the contents of the <td> fields:
preg_match_all("#<td[^>]*>(.+?)</td#", $string, $foo);
print_r($foo[1]);However, it also includes plenty of HTML. If the HTML is properly formed, you can use the DOM document model to parse it, but I personally like using regexp for this sort of thing.