Parse HTML with PHP's HTML DOMDocument


The text inside a <div> tag inside class="text" inside <div> with class="main" can be obtained with the following code −

Example

$html = <<<HTML
<div class="main">
   <div class="text">
      This is text 1
   </div>
</div>
<div class="main">
   <div class="text">
      This is text 2
   </div>
</div>
HTML;
$dom = new DOMDocument();
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
XPath queries along with the DOMXPath::query method can be used to return the list of elements that are searched for by the user.
$tags = $xpath->query('//div[@class="main"]/div[@class="text"]');
foreach ($tags as $tag) {
   var_dump(trim($tag->nodeValue));
}

Output

This will produce the following output −

string ‘This is text 1’ (length=14)
string ‘This is text 2' (length=14)

Updated on: 07-Apr-2020

347 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements