Здесь вам нужно несколько скобок вместо точки с запятой:
foreach($html->find('a') as $links) {
$html = file_get_html($links->href);
echo $html;
}
С точкой с запятой сразу после определения foreach ничего не запускается. Если вы удалите точку с запятой, она все равно будет выполнять только первую строку после определения цикла. Вам нужно заключить в скобки два оператора вместе.
Я не знаю, насколько хорошо будет выводить весь HTML для нескольких страниц подряд.