我想从另一个网站打开一个页面,并提取该页面中 div of class="layout-2-2"
中的所有链接 (href)。我如何使用 PHP 执行此操作?
我想复制 this 的 layout-2-2 中的每个链接网页。
这是我的实际代码
$doc = file_get_contents('https://url/');
$xpath = new DOMXpath($doc);
$liens1= $xpath->query('//div[@class="layout-2-2"]');
$links = [];
foreach($liens1 as $lien1) {
$arr = $lien1->getElementsByTagName("a");
foreach($arr as $item) {
$href = $item->getAttribute("href");
$text = trim(preg_replace("/[\r\n]+/", " ", $item->nodeValue));
$links[] = $href;
}
}
echo($links);
最佳答案
使用xpath查询://div[@class=\"layout-2-2\"]//a/@href
获取父节点、子节点、子节点属性。
$html = file_get_contents('https://url/');
$links = [];
$document = new DOMDocument;
$document ->loadHTML($html);
$xPath = new DOMXPath($document );
$anchorTags = $xPath->evaluate("//div[@class=\"layout-2-2\"]//a/@href");
foreach ($anchorTags as $anchorTag) {
$links[] = $anchorTag->nodeValue;
}
print_r($links);
关于php - 如何在PHP中获取div中的所有链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54940750/