Парсинг 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