Получить текст с помощью DomDocument, но удалить внутренний тег h1

kylex спросил: 13 июня 2018 в 08:08 в: php

У меня есть html, где я пытаюсь получить текст, но не с тегом <h1>.

$html = '<div class="mytext">   
           <h1>Title of document</h1>   
           This is the text that I want, without the title.
         </div>';$dom->loadHTML($html);
$dom->preserveWhiteSpace = false;
$xp = new DOMXpath($dom);
foreach($xp->query('//div[@class="mytext"]') as $node) {
  $description = $node->nodeValue;
  echo $description; 
}

Конечный результат должен быть: This is the text that I want, without the title.

В настоящее время это: Title of document This is the text that I want, without the title

Как я могу просто получите текст без тега h1?

1 ответ

Есть решение
Rainmx93 ответил: 13 июня 2018 в 08:14

попробуйте следующее:

foreach($xp->query('//div[@class="mytext"]/text()[normalize-space()]') as $node) {
   $description = $node->nodeValue;
   echo $description; 
}

Дополнительное видео по вопросу: Получить текст с помощью DomDocument, но удалить внутренний тег h1

Scraping Websites with PHP using DOMXpath and DOMDocument Part 2 Building an XPath Class

Fetch data from websites using XPATH and PHP | Geeky Way

Scraping Websites with PHP using DOMXpath and DOMDocument Part 3 Recursive Scraping