XPath на помощь.
<?php
$doc = new DOMDocument();
@$doc->loadHTMLFile('https://example.com');
$xp=new DOMXPath($doc);
echo $xp->query("//option[@value='2']")->item(0)->getAttribute("data-price");
- получает первый элемент с атрибутом
value="2"
и получает его атрибут data-price
.
также вы можете сделать
echo $xp->query("//option[@data-name='text 2']")->item(0)->getAttribute("data-price");
чтобы получить его по data-name
, или вы можете даже
echo $xp->query("//option[text()='Text 2']")->item(0)->getAttribute("data-price");
для выборки по текстовому содержимому и даже
echo $xp->query("//option[contains(text(),'Text 2')]")->item(0)->getAttribute("data-price");
для извлечения его на основе частичного текстового содержимого (это приведет к извлечению любого элемента option
, который имеет Text 2
в любом месте своего textContent.)