2017-06-11 18 views
1

有一個問題使我的PHP代碼工作。 (我真的很糟糕在PHP fyi)使用echo str隱藏特定文本(php)?

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

上面應該排除說道瓊斯,它應該隱藏它的任何文字。

但是,如果在下面的代碼中使用,它會刮擦道瓊斯工業指數的股票信息並重新顯示它,它並沒有擺脫「道瓊斯工業指數」。有什麼想法嗎?

<?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

代碼工作正常 –

+0

這不適合我,它不會取代文字DJIA。這是我得到的結果......如果那是按照我的意圖工作的,那麼「DJIA」永遠不會出現。道瓊斯工業平均指數21271.97 +89.44(0.42%)註冊此處納斯達克6207.92 -113.85(-1.80%)註冊此處S&P 500 2431.77 -2.02(-0.08%)註冊 – Masteryogurt

+0

其不一樣的道瓊斯工業平均指數,如果它應該出現在這裏註冊 –

回答

1

試試這個:

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

代替:

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

感謝您的回答。無法讓它工作,是因爲我可能把它放在代碼中?以下是完整的代碼:<?php $ doc = new DOMDocument; $ doc-> preserveWhiteSpace = false; $ 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($條目爲$條目){ echo trim($ entry-> textContent); //使用'trim'消除空格 echo str_replace(「DJIA」,「」,$ entry-> textContent。「REGISTER here」); } – Masteryogurt

+0

基本上我把你的新代碼正確後回聲修剪($ entry-> textContent); – Masteryogurt

+0

現在好了你現在得到的輸出是什麼? –