Использую tidy. Вот фрагмент:
$config = [
'indent' => true,
'output-xhtml' => true,
'wrap' => 200
];
var_dump('p1');
if ($this->config['useTidy']) {
// Tidy
$tidy = new tidy;
var_dump('p2');
$tidy->parseString($html, $config, 'utf8');
var_dump('p3');
$tidy->cleanRepair();
var_dump('p4');
$html = $tidy;
}
$html приходит корректный, правда огромный(5000+ строк), сколько бы времени не прошло, parseString() не прекращает выполняться, пытался всячески изменять конфиги - не помогло, также нельзя поставить тайм-аут, что очень жаль