我已将这段HTML代码读入$html
。我已经提取了一些正确的信息,但我仍然无法获得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>
并且需要提取值&#34; 06&#34;变成一个变量。
我试过了:
foreach($html->find('select') as $element) {
if ($element->id == 'selstart')
{
$v = $element->find('option selected',0)->value . '</br>';
}
}
以及许多其他组合遵循php , simple_html_dom.php, get selected option中的想法,但没有效果。
有什么想法吗?
答案 0 :(得分:4)
使用element[attr]
选择具有指定属性的元素。
$v = $element->find('option[selected]', 0)->value . '</br>';
答案 1 :(得分:0)
感谢您的回复,如果您想在阅读select后设置选项值,可以这样做: 首先从另一个文件加载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;
?>
对我来说效果很好;)
答案 2 :(得分:0)
试试这个简单的代码
$element = $html->find('#selectIDGoesHere',0)->find('option');
foreach($element as $elemen) {
echo "Display text:".($elemen->plaintext)."<br>";
echo "value:".($elemen->value)."<br>";
}