我正在尝试从DOM对象获取DIV的内容,我正在使用下面的代码。 $url
是一个有效的字符串网址,如果我将其放入浏览器,则会打开一个包含我正在寻找的DIV的网页。
$url
是一个字符串,例如:
$url = 'http://api.testdev.com/testpage.html';
代码
$dom = new DOMDocument();
$dom->loadHTML($url);
$xpath = new DOMXPath($dom);
$rawData = $xpath->query('//div[contains(@class, \'listing-products\')]');
我正在使用正则表达式//div[contains(@class, \'listing-products\')]
<div class="listing-products right-content">
我只是得到如下的空数组,日志,屏幕或浏览器控制台中没有错误。
DOMNodeList Object
{
[length] => 0
}
我怀疑我的正则表达式模式不是100%正确,有人能指出我正确的方向吗?
答案 0 :(得分:0)
问题在于我使用$dom->loadHTML
的位置我传入的是URL字符串而不是函数所需的HTML,为了解决这个问题,我将$url
变量包含在{file_get_contents
中。 1}}修复问题的函数。
旧代码:
$dom->loadHTML($url);
新的,有效的代码:
$dom->loadHTML(file_get_contents($url));