4

HTMLページから$283の値を抽出するには、xpathのサポートが必要です。

これが私のPHPです

$html = file_get_contents("https://test.com/testpage.php");
$html = tidy_repair_string($html);
$doc = new DomDocument();
$doc->loadHtml($html);
$xpath = new DomXPath($doc);

$avg = $xpath->evaluate('string(//*[@id="Average"]/@value)');
echo $avg;

これがHTMLです

<div class="List">
    <span class="bold">Avg</span> 
    <span id="Average">$283</span>
</div>

前もって感謝します。

4

1 に答える 1

7

このXPath式を試してください:

//div[@class="List"]/span[@id="Average"]

または単に:

//*[@id='Average']

これは完全に機能するコードです:

<?php
$doc = new DOMDocument();
$doc->loadHTMLFile('http://127.0.0.1/test.html');

$xpath = new DOMXpath($doc);

$elements = $xpath->query("//*[@id='Average']");

if (!is_null($elements)) {
    foreach ($elements as $element) {
        $nodes = $element->childNodes;
        foreach ($nodes as $node) {
            echo $node->nodeValue. "\n";
        }
    }
}
?>

URLを自分のものに置き換えるだけです。

于 2012-06-03T20:50:48.163 に答える