Здесь мы снова ... НЕ используйте регулярные выражения для извлечения HTML. HTML не является обычным языком и не может быть надежно проанализирован с помощью регулярных выражений. Вместо этого используйте DOM.
$printable = file_get_conttents('...');
$dom = new DOMDocument;
$dom->loadHTML($printable);
$xpath = new DOMXpath($dom);
$tables = $xpath->query("//table");
$table_html = array();
foreach($tables as $table) { // workaround for PHP DOM not support innerHTML
$temp = new DOMDocument;
$temp->appendChild($temp->importNode($table, true));
$table_html[] = trim($temp->saveHTML());
}
Кроме того, окружающие переменные, которые вы выводите, - это просто трата строковой операции
echo $x
echo "$x";
работает идентично, за исключением того, что указанная версия тратит впустую некоторое время, некоторые процессоры производят временную строку, которая только снова выбрасывается.