5

我已经将这段 HTML 代码读入$html. 我已经提取了一些正确的信息,但是我无法获得 a 的选定选项值select

<select name="a" id="selstart">
  <option value="00">Jan</option>
  <option value="01">Feb</option>
  <option value="02">Mar</option>
  <option value="03">Apr</option>
  <option value="04">May</option>
  <option value="05">Jun</option>
  <option selected value="06">Jul</option>
  <option value="07">Aug</option>
  <option value="08">Sep</option>
  <option value="09">Oct</option>
  <option value="10">Nov</option>
  <option value="11">Dec</option>
</select>

并且需要将值“06”提取到变量中。

我试过了:

foreach($html->find('select') as $element) {
    if ($element->id == 'selstart')
    {
        $v =  $element->find('option selected',0)->value . '</br>'; 
    }
}

以及遵循 php 中找到的想法的许多其他组合, simple_html_dom.php,获取选定选项但不起作用。

有任何想法吗?

4

3 回答 3

7

用于element[attr]选择具有指定属性的元素。

$v =  $element->find('option[selected]', 0)->value . '</br>';
于 2013-06-16T03:05:25.777 回答
0

谢谢您的回复,如果您想在阅读选择后设置选项值,您可以这样做: 首先从另一个文件加载 html 选择,例如,它是这样的:

<div>
<select id="select1">
</select>
</div>

然后你可以这样做:

<?php 
$html=str_get_html($filename_or_method_to_the_html_content);
$products='<option></option>'.
          '<option val="1">Val 1</option>'.
          '<option val="2" selected="selected">Val 2</option>'.
          '<option val="3">Val 3</option>';
$html->find('select[id=select1]','0')->innertext=$products;
?>

它对我来说效果很好;)

于 2015-04-05T09:55:19.430 回答
0

试试这个简单的代码

$element =  $html->find('#selectIDGoesHere',0)->find('option');     
    foreach($element as $elemen) {         
        echo "Display text:".($elemen->plaintext)."<br>"; 
        echo "value:".($elemen->value)."<br>";
    } 
于 2016-12-29T12:12:18.580 回答