UltraMax
Эх.. вот молодежь пошла, в красивой задаче вызова не видят!..
Вот пример, навскидку.
[off]$text = "
someshit
";
$tables = array();
preg_match_all("#]*)>(((?!?table(?:[^>]*)>).)*)
#si",$text,$out);
for($i=0;$i $tables[$i] = array();
preg_match_all("#]*)>(((?!?tr(?:[^>]*)>).)*)
#si",$out[1][$i],$out2);
for($j=0;$j $tables[$i][$j] = array();
preg_match_all("#]*)>(((?!?td(?:[^>]*)>).)*) | #si",$out2[1][$j],$out3);
for($k=0;$k $tables[$i][$j][$k] = $out3[1][$k];
}
}
}
echo(htmlspecialchars(print_r($tables,true)));[/off]
10 минут работы по моим часам.
Доработать проверками на количество элементов, еще чего по вкусу добавить - и подойдет на ура.