iltu33 adlı üyeden alıntı: mesajı görüntüle
Merhaba. Sayende sorunum çözdüldü. Ben <h[1-5]>(.*?)</h[1-5]> bu satırı bu şekilde yapmayı bilmediğimden bütün elemanları ayrı ayrı seçtrip değişkenlere atadım. Bir tık zahmetli oldu. Senin sayende kurtuldum!
// benim yaptığım
$baslik1 = preg_match('/<h1>(.*?)<\/h1>/s', $content, $cikti1);
$baslik2 = preg_match('/<h2>(.*?)<\/h2>/s', $content, $cikti2);
$baslik3 = preg_match('/<h3>(.*?)<\/h3>/s', $content, $cikti3);
$baslik4 = preg_match('/<h4>(.*?)<\/h4>/s', $content, $cikti4);
$baslik5 = preg_match('/<h5>(.*?)<\/h5>/s', $content, $cikti5);
$baslik6 = preg_match('/<h6>(.*?)<\/h6>/s', $content, $cikti6);
İşine yaradıysa ne mutlu, kolay gelsin hocam

baguvix adlı üyeden alıntı: mesajı görüntüle
https://github.com/kangjeki/DomHTML bunu veya farklı parçalayıcı kullanarak daha pratik bir şekilde html elemanını seçebilirsiniz.
Arkadaşın paylaştığı yöntem de kullanılabilir, Eğer veri düzenli olarak güncelleniyor veya düzenli olmayan bir şekilde yapılandırılmışsa, DOMDocument sınıfı ile yapılan çözüm daha esnek ve güvenli olabilir çünkü bu sınıf HTML verilerini doğru şekilde yapılandırır ve bu verileri kullanmak için gereken fonksiyonlar sunar. Fakat veri düzenli olarak güncellenmiyor ve düzenli bir şekilde yapılandırılmışsa, preg_match_all fonksiyonu ile yapılan çözüm hızlı ve etkileşimli olabilir. DOMDocument ile çözümlenmiş halini de paylaşayım
<?php
$string = '<h1>B1</h1><h2>B2</h2><h3>B3</h3><h4>B4</h4><h5>B5</h5><p>"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."</p>';

$doc = new DOMDocument();
$doc->loadHTML($string);

$headers = $doc->getElementsByTagName('h1')->item(0)->nodeValue;

for ($i = 0; $i < $headers->length; $i++) {
    $header = $headers->item($i);
    echo $header->nodeValue . "<br>";
}
?>
DOMDocument sınıfını kullanır ve loadHTML fonksiyonu ile veriyi HTML olarak yükler. Daha sonra, getElementsByTagName fonksiyonu ile başlıkları (h1-h5) bulur ve döngü ile her bir başlığı ekrana basar.