Haven't you posted this problem before? Anyway, sorry it took me so long, here's my solution:
$data = file_get_contents('http://marconi.arch.usyd.edu.au/helpdesk/printers.cgi?printer=nasmith');
$pattern = "|<tr><td>(.*)?</td> <td>(.*)?</td> <td><a .*>([0-9]+)?</a></td> <td>(.*)?</td> <td>([0-9]+)?</td> <td>(.*)?</td> <td>(.*)?</td></tr>|iU";
preg_match_all($pattern, $data, $matches);
for($i = 0, $max = count($matches[0]); $i < $max; $i++) {
echo 'Job #' . ($i+1) . ': Size is ' . $matches[5][$i] . '<br>';
// All the other data was also grabbed. Here's the list:
// $matches[1][$i] -- Rank/Status
// $matches[2][$i] -- Owner
// $matches[3][$i] -- Job ID
// $matches[4][$i] -- File Name
// $matches[5][$i] -- Size
// $matches[6][$i] -- Time
// $matches[7][$i] -- Host
}
echo '<hr>Total jobs: ' . $max;
You said you only wanted size, but I gave you the list of all the other information in case you wanted to use it too.
EDIT: Please note that if you ever change the layout of that table, this script will most likely not work, as the regular expression pattern will probably be off!