У меня есть 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);