尝试使用PHP从html页面中提取信息

问题描述 投票:0回答:1

我想知道如何做以下事情。我有一个包含这部分代码的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。

php
1个回答
1
投票

我从http://simplehtmldom.sourceforge.net/manual.htm看到的是你应该使用类似于$element->find('option[selected]', 0)->plaintext的东西来获取节点的文本内容而不是它的value属性。

我发现新语言/库时可以给你的最好的提示是阅读文档。

© www.soinside.com 2019 - 2024. All rights reserved.