How can I get a div content in php
Solution 1:
Use the php DomDocument class. http://www.php.net/manual/en/class.domdocument.php
$dom = new DOMDocument();
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$divContent = $xpath->query('//div[id="product_list"]');
Solution 2:
To save an XML/HTML fragment, you need to save each child node:
$dom = new DOMDocument();
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$result = '';
foreach($xpath->evaluate('//div[@id="product_list"]/node()') as $childNode) {
$result .= $dom->saveHtml($childNode);
}
var_dump($result);
Output:
string(74) "
<div>
bla bla bla
</div>
bla bla
"
If you only need the text content, you can fetch it directly:
$dom = new DOMDocument();
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
var_dump(
$xpath->evaluate('string(//div[@id="product_list"])')
);
Output:
string(63) "
bla bla bla
bla bla
"