0

わかりましたので、次のソース コードからこの情報 0.00 を取得しようとしている Web サイトのソース コードがあります。

<div class="row">
<div class="span10">
<div id="conn_status"/><br/>
<div id="balance_notifications"/>





</div>
</div>



<center>



<h2>0 RLM
(0.00 USD)</h2>

0 が変化する 0 RLM 値と 0.00 USD の部分の両方を取得できるようにしたい PHP ファイルのエコー出力に表示する数値のみが必要です

ここに私がこれまでに持っているもの

<?php
   function check($url2){
    $check = curl_init();
    curl_setopt($check, CURLOPT_COOKIEJAR, 'cookiemon.txt');
    curl_setopt($check, CURLOPT_COOKIEFILE, 'cookiemon.txt');
    curl_setopt($check, CURLOPT_TIMEOUT, 40000);
    curl_setopt($check, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($check, CURLOPT_URL, $url2);
    curl_setopt($check, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
    curl_setopt($check, CURLOPT_FOLLOWLOCATION, false);
return curl_exec ($check);
curl_close ($check);


} 
$html = check('https://example.org/');
$dom = new DOMDocument();
@$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$value = $xpath->query('//label[@id="balance_notifications"]/following-sibling::text()')->item(0)->nodeValue;
?>

そして、これは私が得るphp応答です

注意: 20 行目で /opt/lampp/htdocs/newphp.php の非オブジェクトのプロパティを取得しようとしています

4

1 に答える 1

0

XPath 式が間違っているため、最初の要素がありません (まったくありません)。

これが<h2/>コンテンツ内の唯一の要素である場合は、 //h2XPath 式として使用します。

の後の最初のものを照会する場合は、次の<div id="balance_notifications"/>式を使用できます (および他の式を使用できますが、入力に関する十分な情報が得られません)。

//div[@class="row"][.//div[@id="balance_notifications"]]//h2

それが信頼できない場合は、最初の結果を<div class="row"/>使用following::h2して制限します。

//div[@id="balance_notifications"]/following::h2[1]

文字列操作に関して: PHP で使用している XPath 1.0 ではそれができないため、PHP で分割する必要があります。

于 2013-07-29T16:48:48.300 に答える