Source HTML
<div class="number value">14,818</div>
<div class="number delta-negative">
-10.19%</div>
<div class="number value">58,016</div>
<div class="number delta-positive">
+44.38%</div>
<div class="number value">119,561</div>
<div class="number delta-negative">
-11232</div>
Code
$doc = new DomDocument();
$doc->loadHTMLFile('http://example.com/source.html/');
$xpath = new DomXpath($doc);
$query = '//div[@class="number value"]//';
$nodes = $xpath->query($query);
$urls = array();
foreach ($nodes as $node) {
$href = trim($node->nodeValue);
$urls[] = $href;}
$datap = implode(',', $urls);
echo $datap;
I want extract values 14,818, 58,016 and 119,561 but above code doesnt work…why?
Your query is forclass="number_value"while your HTML saysclass="number value".Change one of them (probably the HTML) to reflect this. (Question edited to correct error.)
Edit:
Running your query results in an invalid query error. Looking at your query, it’s obvious why — you have two trailing slashes. These are invalid without anything following them.
Try this: