2017-06-11 2 views
1

Mit einem Problem, dass dies mit meinem PHP-Code funktioniert. (Ich bin wirklich schlecht php FYI)versteckten spezifischen Text (php) mit echo str?

echo str_replace("DJIA", "", "REGISTER DJIA here"); 

Die oben sollte jeden Text ausschließen, die DJIA sagt, sollte es ausblenden.

Wenn jedoch in dem folgenden Code, der DJIA Aktieninformationen kratzt und es wieder anzeigt, verwendet wird, wird es nicht "DJIA" loswerden. Irgendwelche Gedanken?

<?php 

$doc = new DOMDocument; 

// We don't want to bother with white spaces 
$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 
echo str_replace("DJIA", "", "REGISTER DJIA here"); 
} 
+0

der Code funktioniert gut –

+0

Es ist für mich nicht, es nicht den Text DJIA ersetzen. Das ist das Ergebnis, das ich bekomme ... wenn das so funktioniert, wie ich es vorhabe, würde "DJIA" nie erscheinen. DJIA 21271.97 +89.44 (0.42%) REGISTRIEREN hereNASDAQ 6207.92 -113.85 (-1.80%) REGISTRIEREN hereS & P 500 2431.77 -2.02 (-0.08%) REGISTER – Masteryogurt

+0

Es ist nicht der gleiche DJIA, wenn es hätte zwischen REGISTER hier –

Antwort

1

versuchen Sie dies:

echo str_replace("DJIA", "", $entry->textContent." REGISTER DJIA here"); 

anstelle von:

echo trim($entry->textContent); // use `trim` to eliminate spaces 
echo str_replace("DJIA", "", "REGISTER DJIA here"); 
+0

danke für deine antwort. nicht in der Lage, das zu arbeiten, ist es vielleicht weil, wo ich es in den Code einlege? Hier ist der vollständige Code: preserveWhiteSpace = false; $ doc-> strictErrorChecking = false; $ doc-> recover = true; $ doc-> loadHTMLFile ('http://www.nbcnews.com/business'); $ xpath = neuer DOMXPath ($ doc); $ query = "// div [@ class = 'market']"; $ entrements = $ xpath-> query ($ query); foreach ($ entries als $ entry) { echo trim ($ entry-> textContent); // benutze 'trim', um Leerstellen zu entfernen echo str_replace (" DJIA "," ", $ entry-> textContent." hier registrieren "); } – Masteryogurt

+0

Grundsätzlich habe ich Ihren neuen Code direkt nach dem Echo Trim ($ entry-> textContent); – Masteryogurt

+0

ok jetzt, was ist die Ausgabe, die Sie jetzt bekommen? –