0

私はこのような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"]') as $k => $v) {
     if ($v->name == $value) {
   $shows[$i]['Location'] = $v->value;
   }

   }
$value = $shows[$i]['場所'];
$html->clear();
設定解除 ($html);
$値を返します。
}

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

そのような QueryPath の代替も受け入れられます。

4

2 に答える 2

2

正しい答えは次のとおりです。

$html->find('#cCountry',0)->find('option[selected=selected]',0);
于 2013-01-15T11:18:01.857 に答える
1

$shows関数の外で定義されているときにアクセスしようとしていると思います。これが問題である場合global $shows;は、関数の先頭に配置するか、署名を変更して渡す必要があります。次のようなものです。

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

getValue_selected($val1, $val2, $shows);
于 2011-06-26T13:32:59.610 に答える