PHP使用Xpath从DOM获取DIV内容

PHP使用Xpath从DOM获取DIV内容,php,regex,dom,xpath,Php,Regex,Dom,Xpath,我试图从DOM对象获取DIV的内容,我使用下面的代码$url是一个有效的字符串url,如果我把它放到浏览器中,它会打开一个包含我要查找的DIV的页面 $url是一个字符串,例如: $url = 'http://api.testdev.com/testpage.html'; 代码 $dom = new DOMDocument(); $dom->loadHTML($url); $xpath = new DOMXPath($dom); $rawData = $xpath->query('

我试图从DOM对象获取DIV的内容,我使用下面的代码
$url
是一个有效的字符串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\')]');
下面我试图使用regex
//div[contains(@class,\'listing-products\')]
将HTML代码作为目标:


我怀疑我的正则表达式模式不是100%正确,有人能给我指出正确的方向吗?

问题是我在使用
$dom->loadHTML
时传递的是URL字符串,而不是函数所期望的HTML,为了解决这个问题,我用
file\u get\u contents
函数包装了
$url
变量,该函数解决了这个问题

旧代码:

$dom->loadHTML($url);
新的工作代码:

$dom->loadHTML(file_get_contents($url));

使用双引号,而不是单引号?@Stribizev,您的示例中只有一个类,div中有多个类对我不起作用。@Stribizev,弄明白了,您是对的代码正在工作,我将字符串传递到
loadHTML
函数中,而不是实际的HTML。
$dom->loadHTML($url);
$dom->loadHTML(file_get_contents($url));