Вот мой код.
$dom_currys = new DOMDocument;
libxml_use_internal_errors(TRUE);
$dom_currys->loadHTMLFile('http://www.currys.co.uk/gbuk/apple-new-ipod-touch-8gb-4th-generation-07677427-pdt.html');
libxml_clear_errors();
$xpath_currys = new DOMXpath($dom_currys);
$nodes_currys = $xpath_currys->query(
'/html/body/div/div/div[2]/div/div/div[2]/div/ul[2]/li/span'
);
$currys_stock_data = $nodes_currys->item(0)->nodeValue; // "Available for home delivery"
echo $currys_stock_data;
При отражении возвращается с
 Available for home delivery
 Available to reserve & collect
Мне требуется только часть "Доступно для доставки на дом".Каждый из них находится в отдельном элементе "li", но все же он возвращает оба, XPath, если бы я хотел, второй был бы
/html/body/div/div/div[2]/div/div/div[2]/div/ul[2]/li[2]/span
Я подозреваю, что это связано с выбором правильного элемента, но не уверенесли это правильно или нет.
Также я требую, чтобы результат проверялся оператором IF.То, что у меня есть до сих пор:
if (strpos($currys_stock_data, 'Available for home') !== false) {
$currys_stockyesno = "Yes";
} else {
$currys_stockyesno = "No";
}
echo $currys_stockyesno;
Я подумал, что было бы лучше проверить, содержит ли оно «Доступно для доставки на дом», а не прямое совпадение, потому что веб-сайт иногда может сказать, что он доступен для доставки на дом2 дня по этим направлениям.Пока строка содержит эту строку, она будет возвращаться как true / yes.Но он говорит нет ...