У меня есть html-блок:
$ localurl = '
<select name="cCountry" id="cCountry" style="width:200" tabindex="5"> <option value="251">Ascension Island</option> <option selected="selected" value="14">Australia</option> <option value="13">Austria</option>
«;
Я пытаюсь извлечь выбранное значение в этом случае «Австралия», используя simple_html_dom ( http://simplehtmldom.sourceforge.net/ ). Пока у меня есть функция, но она не работает:
// извлечение выбранного значения
функция getValue_selected ($ value, $ localurl)
{
$ html = file_get_html ($ localurl);
$ i = 0;
foreach ($ html-> find ('select [option selected = "selected"]') в виде $ k => $ v) {
if ($ v-> name == $ value) {
$ показывает [$ i] ['Location'] = $ v-> value;
}
}
$ value = $ показывает [$ i] ['Местоположение];
$ Html-> ясно ();
снята с охраны ($ HTML);
return $ value;
}
$ selected_value = getValue_selected ('cCountry', $ localurl)
Также будет принят такой вариант QueryPath.
правильный ответ:
$html->find('#cCountry',0)->find('option[selected=selected]',0);
Я предполагаю, что вы пытаетесь получить доступ к $shows когда он определен вне функции. Если это проблема, вам нужно либо поставить global $shows; в верхней части func, или, еще лучше, измените подпись, чтобы передать ее. Что-то вроде:
getValue_selected($value, $localurl, &$shows) {/* your function here */ } getValue_selected($val1, $val2, $shows);