データスクレイピングでテストしています。私が掻いている出力はパーセントです。だから私は基本的には望ましいことではないしかしパーセントが実際にも番号の前に表示されている問題がありますphp echo "%"が複数回表示されています
echo $ret_[66];
ある実際の数出力の終わりに
echo "%<br>";
に平手打ち。これが出力されます。
%
-0.02%
私が取得しようとしていることは明らかに私はPHPと間違って何かをやっているだけで-0.02%
であるのに対し。私は本当にフィードバック/ソリューションを感謝します。ありがとうございました!
全コード:別々次のPHPコードで
<?php
error_reporting(E_ALL^E_NOTICE^E_WARNING);
include_once "global.php";
$doc = new DOMDocument;
// We don't want to bother with white spaces
$doc->preserveWhiteSpace = false;
$doc->strictErrorChecking = false;
$doc->recover = true;
$doc->loadHTMLFile('http://www.moneycontrol.com/markets/global-indices/');
$xpath = new DOMXPath($doc);
$query = "//div[@class='MT10']";
$entries = $xpath->query($query);
foreach ($entries as $entry) {
$result = trim($entry->textContent);
$ret_ = explode(' ', $result);
//make sure every element in the array don't start or end with blank
foreach ($ret_ as $key => $val){
$ret_[$key] = trim($val);
}
//delete the empty element and the element is blank "\n" "\r" "\t"
//I modify this line
$ret_ = array_values(array_filter($ret_,deleteBlankInArray));
//echo the last element
echo $ret_[66];
echo "%<br>";
}
"数字の前に現れる"とループ( 'foreach')は、行の1つが' echo $ ret_ [66];で何もエコーしていない可能性が高いことを示します。 –
私はそれがこれと関係していると思いますか? 'deleteBlankInArray'おそらく試してみてください:' if($ ret_ [66]){echo $ ret_ [66];エコー "%
"; } ' –
ありがとうございます、私はあなたが正しいと思います。私は実際にもっと簡単な解決策を見つけました。これはもう一つのPHPファイルを下に作ることです<?php echo "%
"; ?>私はあなたの解決策を検討しますが、より効率的かもしれません。ありがとうございました。 – Masteryogurt