2013-11-22 66 views
0

我有一些字符串,我必須從舊代碼修復。我有這樣的事情:替換字符串在php中的相同位置

$str = 'a-b-x-d-e'; 
$str = 'bbbb-ccccc-y-ee-fff'; 
$str = 'aa-ee-z-jjjjjjjj-uuu'; 
$str = 'aa-ee-z-y-x'; 

中間是(X或Y或Z)不再有效,並且我有任一「M,N或P」

,以取代現在,有很多辦法做到這一點,我想這樣做:

$list = explode($str); 
foreach($list as $k => $v) { 
//find the third one and replace it by rebuilding the string 
} 

但這似乎非常繁瑣和漫長的事,有沒有更快的方式?

編輯:我也可以在任何其他位置具有相同的值,這些位置仍然有效。

回答

1

這裏有一個簡單的一個:

$str = 'a-b-x-d-e'; 

$newVar = 1; 

$tmp = explode('-', $str); 
$tmp[2] = $newVar; 
$str = implode('-', $tmp); 
unset($tmp); 

echo $str; 
1

最簡單的解決方案是使用str_replace

$list = str_replace(array('x', 'y', 'z'), array('m', 'n', 'p'), $list); 

這將取代xmyn等。

$list陣列應該握住你的字符串列表。

這裏是鍵盤:http://codepad.org/mC602d7Z

這是基於關閉該xyz不會出現其他地方的事實。

相關問題