Пример, как регуляркой вытащить содержимое всех h* тегов
Но чтобы вытащить content, нужно уже смотреть на структуру страницы: где относительно заголовков расположен контент и тд. Это легко в случае если мы работаем с конкретным сайтом, то есть пишется код под сайт, и сложно если нужно некий универсальный парсер любых сайтов.
<?php
$html = file_get_contents('https://toster.ru');
$headers = [];
for($h = 1; $h <= 6; $h++)
{
preg_match_all('!<h'.$h.'.*?>(.*?)</h'.$h.'!usi', $html, $out);
if(isset($out[1]) && !empty($out[1]))
{
$headers["H".$h] = array_map('trim', $out[1]);
}
}
print_r($headers);