php, simple_html_dom.php, получить выбранный вариант - PullRequest
0 голосов
/ 26 июня 2011

У меня есть 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/). Пока что я создал функцию, но она не работает:

// извлекать выбранное значение

function getValue_selected($value, $localurl)
{
  $html = file_get_html($localurl);
  $i = 0;
   foreach ($html->find('select[option selected="selected"]') as $k => $v) {
     if ($v->name == $value) {
   $shows[$i]['Location'] = $v->value;
   }

   }
$value = $shows[$i]['Location'];
$html->clear();
unset($html);
return $value;
}

  $selected_value = getValue_selected('cCountry', $localurl)

Альтернативный такой QueryPath также будет принят.

Ответы [ 2 ]

2 голосов
/ 15 января 2013

правильный ответ:

$html->find('#cCountry',0)->find('option[selected=selected]',0);
1 голос
/ 26 июня 2011

Я предполагаю, что вы пытаетесь получить доступ к $shows, когда он определен вне функции. Если это проблема, вам нужно либо поставить global $shows; вверху функции, либо, что еще лучше, изменить подпись, чтобы передать ее. Что-то вроде:

getValue_selected($value, $localurl, &$shows)
{/* your function here */ }

getValue_selected($val1, $val2, $shows);
...