2015-07-12 92 views
1

PHP/CSS在字符串中查找兩個字,更改其顏色以供顯示。 有問題,找不到解決方案,有什麼建議?謝謝。PHP/CSS在字符串中查找兩個顏色字,更改其顏色

<?php 
$word = '<font color = "blue">blue</font>'; 
$num = '<font color = "blue">123</font>'; 
$text = $word.$num; 
echo '$text='.$text.'<br>'; 

$blue='blue'; 
$find = '<font color="blue">'.$blue.'</font>'; 
$re='<font color="green">'.$blue.'</font>'; 

$check = str_replace($find,$re,$text); 

echo '$find='.$find.'<br>'; 
echo '$re='.$re.'<br>'; 
echo '$check='.$check.'<br>'; 
?> 
+1

請對您的問題的詳細信息。應該發生什麼?什麼發生呢? – Renzo

回答

0

它不工作,因爲你之前和之後有空格「=」你的原文:

color = "blue" 

而且不要有空格$find

color="blue" 

爲了避免這種使用正則表達式:

<?php 
$word = '<font color = "blue">blue</font>'; 
$num = '<font color = "blue">123</font>'; 
$text = $word.$num; 

$blue='blue'; 
$find = '<font color.*?=.*?"blue">'.$blue.'<\/font>'; 
$re='<font color="green">'.$blue.'</font>'; 

$check = preg_replace("/$find/", $re, $text); 

echo '$check='.$check."<br>\n"; 
?> 

輸出:

$check=<font color="green">blue</font><font color = "blue">123</font><br> 
+0

thx〜它工作得很好! – user3901528

0

試試這個。我認爲這將解決您的問題

<?php 
$word = '<font color = "blue">blue</font>'; 
$num = '<font color = "blue">123</font>'; 
$text = $word.$num; 
echo $text.'='.$text.'<br>'; 

$blue='blue'; 
$find = '<font color="blue">'.$blue.'</font>'; 
$re='<font color="green">'.$blue.'</font>'; 

$check = str_replace($find,$re,$text); 

echo $find.'='.$find.'<br>'; 
echo $re.'='.$re.'<br>'; 
echo $check.'='.$check.'<br>'; 
?>