How to get array of inner div class names using php, dom document and xpath?

Try something like this (note that you have an extra <div> in your html; fixed below):

$data = <<<DATA
<div class="title-wrapper">
    <h3>Shop By Product</h3>    
    <div class="title-divider"></div>
    <div class="subtitle"></div>
 </div>
DATA;
$doc = new DOMDocument();
$doc->loadHTML($data);
$xpath = new DOMXpath($doc);
$targets = $xpath->query(".//div[@class='title-wrapper']//div/@class");
$classNames_array = array();
foreach ($targets as $target) {
    $classNames_array[] = $target->textContent;
}
print_r(array_values($classNames_array));

Output:

Array
(
    [0] => title-divider
    [1] => subtitle
)

CLICK HERE to find out more related problems solutions.

Leave a Comment

Your email address will not be published.

Scroll to Top