Парсинг HTML коду за допомогою PHP DOMDocument

Перед нами стоїть завдання отримати код HTML документа, проаналізувати його, і вибрати текст, який вкладений в тег H2.

Для прикладу, будемо використовувати головну сторінку нашого сайту.

Отримуємо текст всередині тега h2

<?php
$link = 'https://d-nik.site/'; // Посилання на сторінку

$dom = new DOMDocument(); // Створюємо новий документ DOM, щоб зберегти структуру веб-сторінки
@$dom->loadHTMLFile($link); // Завантаження HTML з файлу (за посиланням). Собака (@) в PHP дозволяє вимкнути повідомлення про помилку

$h2 = $dom -> getElementsByTagName('h2'); // getElementsByTagName шукає всі елементи із заданим локальним ім'ям (у нашому випадку це h2)

if (!is_null($h2)) { // is_null перевіряє, чи значення змінної дорівнює null
  foreach ($h2 as $element) { // простий спосіб перебору масивів (працює лише з масивами та об'єктами)
    echo "<br/>". $element->nodeName. ": "; // nodeName повертає найточніше ім'я для поточного типу вузла (у нашому випадку це буде h2)

    $nodes = $element->childNodes; //childNodes – об'єкт DOMNodeList містить всіх нащадків цього вузла. Якщо нащадків немає, повертається порожній DOMNodeList
	
    foreach ($nodes as $node) {
      echo $node->nodeValue. "\n"; // nodeValue – значення цього вузла, залежно від його типу
    }
  }
}
?>

Main Menu