2012-11-27 102 views
0

你如何用str_replace替換這個字符串*#ff00ff Hello World *000000<span style='color:#ff00ff'> Hello World </span>php str_replace十六進制顏色

謝謝。

+7

'$字符串= str_replace函數( '*#FF00FF的Hello World * 000000', '的 Leri

+0

小心'和'。因此必須是 $ string = str_replace('*#ff00ff Hello World * 000000',「 Hello World」,$ string); 但是,有一個很好的問題,那裏的原始問題(因此什麼不與str_replace函數那裏) – Thomas

回答

2
$string = '*#ff00ff Hello World *000000'; 

$string = preg_replace('/\*#([a-f\d]{6})(.*)\*[a-f\d]+/', "<span style='color:$1'>$2</span>", $string); 

echo $string; 

也可以做像這樣:

$string = '*#ff00ff Hello World *000000'; 

$string = preg_replace('/\*#([[:xdigit:]]{6})(.*)\*[[:xdigit:]]+/', "<span style='color:$1'>$2</span>", $string); 

echo $string; 
0
$str = '*#ff00ff Hello World *000000'; 
preg_match('/(#[0-9a-f]{6})/i', $str, $matches); 
echo "<span style='color:{$matches[1]}'> Hello World </span>"; 
+0

oops,忘了括號。 – keyboardSmasher