少し厄介なことをやろうとすると、エコーのために色を設定します。私は一度答えを与えられましたが、実際に色を変えることができませんでした。ここで私が作業しているコードです。PHPスクラップされたデータ内の特定のキーワード(テキスト)に色を設定する方法
<?php
$doc = new DOMDocument;
// djia/nas/sp current values
$doc->preserveWhiteSpace = false;
// Most HTML Developers are chimps and produce invalid markup...
$doc->strictErrorChecking = false;
$doc->recover = true;
$doc->loadHTMLFile('http://www.nbcnews.com/business');
$xpath = new DOMXPath($doc);
$query = "//div[@class='market']";
$entries = $xpath->query($query);
foreach ($entries as $entry) {
echo trim($entry->textContent); // use `trim` to eliminate spaces
}
?>
それがこの結果吐き出しています:DJIA 21271.97 89.44(0.42パーセント)NASDAQ 6207.92 -113.85(-1.80%)S & P 500 2431.77 -2.02(-0.08%)
どのようにフォーマット可能性をそれはいつもex、DJIAの言葉を赤色にしていますか?私は何が起こるのだろうかという論理を理解していますが、私の既存のコードをどのように動作させるかはわかりません。
私はこれを回答として一度だけ提供されましたが、実際には "DJIA"の色を変更しませんでした。おそらく誰かが私が間違ってやっていることを知っていたでしょうか? *これは私がここで扱っている擦れたテキストであることを忘れないでください。
<?php
$doc = new DOMDocument;
// djia/nas/sp current values
$doc->preserveWhiteSpace = false;
// Most HTML Developers are chimps and produce invalid markup...
$doc->strictErrorChecking = false;
$doc->recover = true;
$doc->loadHTMLFile('http://www.nbcnews.com/business');
$xpath = new DOMXPath($doc);
$query = "//div[@class='market']";
$entries = $xpath->query($query);
foreach ($entries as $entry) {
if(trim($entry->textContent) =='DJIA'){//compare with the word you want
to make red
echo "<span style='color:red;'>". trim($entry->textContent) ."
</span>";
}else{
echo trim($entry->textContent);
}
}
?>
フィードバックありがとうございます。
if文はtextContent全体がDJIAだけであるかどうかを調べるためにif文が探していますが、textContentには他のものがあります。 – Cuagau