Попытка сделать что-то немного сложнее, где я устанавливаю цвет для заданных ключевых слов для эха, который собирается из веб-соскабливания. Я получил ответ один раз, но не смог заставить его фактически изменить любые цвета. Вот код, с которым я работаю.
<?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); } } ?>
Спасибо за любые отзывы!