This is getting a mite hairy. It might be easier to do it in stages:
/*
Get the contents of the white cell.
The 'i' modifier is for case-insensitivity.
Rationale: The start of a <td> tag; followed by anything that's not a '>' (but not too much, 'cos we don't it to gobble a bgcolor= attribute; then the bgcolor= attribute we're looking for; then anything else up to the next '>' (and make sure it is the next '>'); then the '>', then we grab and store everything up to the next (not the last) </td>.
*/
preg_match('/<td[>]?bgcolor="#ffffff"[>]?>(.*?)</td>/i',$table,$matches);
/*
Now get rid of additionals tags within the cell
A '<' followed by stuff that's not a '>' followed by a '>' is replaced by an empty string.
/
$contents = preg_replace('/<[>]?>/','',$matches[1]);
How did the 200.0 get in there in the first place?