php - 使用 DOMdocument() 方法按类名获取元素

标签 php curl domdocument

这是我想要实现的目标:检索页面上的所有产品并将它们放入一个数组中。这是我正在使用的代码:

$page2 = curl_exec($ch);
$doc = new DOMDocument();
@$doc->loadHTML($page2);
$nodes = $doc->getElementsByTagName('title');
$noders = $doc->getElementsByClassName('productImage');
$title = $nodes->item(0)->nodeValue;
$product = $noders->item(0)->imageObject.src;

它适用于 $title 但 不适用于产品。有关信息,在 HTML 代码中,img 标记如下所示:

<img alt="" class="productImage" data-altimages="" src="xxxx">

我一直在看这个 ( PHP DOMDocument how to get element? ),但我仍然不明白如何让它工作。

PS:我收到这个错误:

Call to undefined method DOMDocument::getElementsByclassName()

最佳答案

我最终使用了以下解决方案:

    $classname="blockProduct";
    $finder = new DomXPath($doc);
    $spaner = $finder->query("//*[contains(@class, '$classname')]");

关于php - 使用 DOMdocument() 方法按类名获取元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20728839/

相关文章:

php - 使用DOMDocument在现有HTML表中创建新列

php - 通过 jQuery Ajax 将文件(图像)上传到服务器时遇到问题

php - 我如何将此示例 if else 语句转换为数组以用作 echo 语句/函数?

javascript - 为什么 document.images 不仅仅包含图像引用?

macos - 如何修复 curl : (35) error when updating homebrew?

使用 Tornado 的 SaltStack 上 8 上的 SSL 错误

php - 使用 PHP DOMDocument 从带有冒号的命名空间的 xml 节点获取值

php - Unity + PHP + SSL + Https + 黑客

php - Laravel Facebook-登录/丢失电子邮件

php - 如何在 PHP 中发送没有请求数据的 cURL POST?