Я использую завиток и пытаюсь получить выбранные элементы из списка выбора с помощью DOMXPath Я близок, я могу получить выбор и их параметры, просто не могу понять, как определить, .получение выбранного варианта с использованием php DOMXPath
так вот мой код до сих пор. я могу получить выберите имя и весь текст опции и значения
$newDom = new domDocument;
$newDom->loadHTML($result);
$xpath = new DOMXPath($newDom);
$values = $xpath->evaluate("/html/body//select");
for ($cnt = 0; $cnt < $values->length; $cnt++) {
$value = $values->item($cnt);
$name = $value->getAttribute('name');
$options = $xpath->query("*/select[@name='".$name."']/option");
foreach ($options as $option) {
$optionValue = $option->getAttribute('value');
$optionContent = $option->nodeValue;
}
}
So i replaced
$options = $xpath->query("*/select[@name='".$name."']/option");
с
$options = $xpath->query("*/select[@name='".$name."']/option[@selected='selected']");
и теперь $ вариантов пуст
HTML, выглядит
<select name=inc_paytype>
<option value="0">None<option value="1">Cash/Check<option value="2" selected>Credit<option value="3">ECash<option value="4">EFT<option value="5">Credit once, then cash/check
</select>
Спасибо за любую помощь
Если атрибут указан, вы можете получить его из 'if ($ option-> getAttribute ('selected') == 'selected')' Но это только полезно для выбранной по умолчанию опции в разметку, загруженную в DOMDocument. –
И xpath должен выглядеть как '*/select [@name = '". $ Name. "']/Option [@ selected = 'selected']' –
Я обновил оригинал с большим количеством вопросов – randy