我想知道如何做以下事情。 我有一个带有这部分代码的html页面:
<div id="sportSelect" class="longSelect">
<select name="ctl00$ContentPlaceViewResults$MedalistResultsSearchSmallBlock$ResultsSearchSmallBlock$SportsListing" id="ctl00_ContentPlaceViewResults_MedalistResultsSearchSmallBlock_ResultsSearchSmallBlock_SportsListing" class="dropdownfilter">
<option value="">Choose Sport*</option>
<option selected="selected" value="31766">Archery</option>
<option value="32588">Athletics</option>
<option value="31753">Badminton</option>
<option value="126990">Baseball</option>
<option value="31341">Basketball</option>
</div>
现在我实现了这段代码:
<html>
<body>
<?php
// Include the library
include('simple_html_dom.php');
$html=file_get_html('http://www.olympic.org/olympic-results/london-2012/archery');
foreach($html->find('div') as $element) {
if ($element->id == 'sportSelect')
{
$v = $element->find('option[selected]', 0)->value . '</br>';
}
}
echo $v
?>
</body>
</html>
这没关系,它有效,因为我得到了值31766(代码对应于射箭)。 实际上我想在v变量中得到“射箭”而不是31766。
答案 0 :(得分:1)
我从http://simplehtmldom.sourceforge.net/manual.htm看到的是,您应该使用与$element->find('option[selected]', 0)->plaintext
类似的内容来获取节点的文本内容,而不是其值属性。
我发现新语言/库时可以给你的最好的提示是阅读文档。