2015-08-13 23 views
1

我想根據複合詞中的單詞添加一些html到單詞。php - 帶2個不同結果的str_replace 2部分

例如,讓我們取詞「狗窩」

比方說

$row2['word'] = 'doghouse'; 
$word = 'dog'; 
$otherword = 'house'; 

我想最終的結果產生

<span style="color:blue">dog</span><span style="color:red">house</span> 

到目前爲止我的代碼不工作(這我以爲我可以arrayreplacestr_replace但顯然我不能。

$finalword = str_replace(array($word,$otherword),array("<span style='color:blue'>".$word."</span>","<span style='color:red'>".$word."</span>"),$row2['word']); 

str_replace這是錯誤的選擇嗎?

回答

1

str_replace是正確的功能,但你並沒有真正使用它。你設置它的方式,$ row2必須是一個數組,但不是,它是一個字符串。所以你需要使用一種替代方法。你的代碼應該是這樣的:

str_replace($row2, $word.$otherword, "<span style='color:blue'>".$word."</span><span style='color:red'>".$otherword."</span>"); 

第一項($ row2)就是你要搜索的地方,php稱之爲'乾草堆'。第二項是$ word。$ otherword是你正在搜索的內容('針')。第三項是當你找到它時用你的「針」代替。

+0

謝謝你,那是做的。 –

0

我不知道你如何儲存你的顏色,但它適合你嗎?

$row2['word'] = 'doghouse'; 
$words = array('dog','house'); 
$colors = array('blue', 'red'); 
$finalword = ""; 
for ($i = 0; $i < count($words); $i++) { 
    $finalword .= "<span style='color:".$colors[$i]."'>".$words[$i]."</span>"; 
} 
echo $finalword; 
相關問題