А можно парсить через
DOMDocument и получать содержимое body без тегов
$url = 'http://yandex.ru';
$result = file_get_contents($url);
$dom = new \DOMDocument();
libxml_use_internal_errors(true);
/* По-умолчанию loadHTML использует iso-8859-1, поэтому явно указываем преобразование */
$dom->loadHTML(mb_convert_encoding($result, 'HTML-ENTITIES', 'UTF-8'));
libxml_use_internal_errors(false);
$bodyContent = $dom->getElementsByTagName('body')[0]->textContent;
В тексте останутся ненужные части, типа скриптов и стилей, но можно перед созданием DOMDocument регуляркой убрать их из html.
Если не нужен целиком body, можно получать контент отдельных элементов