2015-10-24 129 views
3
$needle = array("Arr","Arr:","Arrang"); 
$haystack = " Arr is the proper way of Arr."; 
echo str_replace($needle, "Arrangement", $haystack); 

打印:Arrangement is the proper way of Arrangement字符串替換第一個出現僅與字從一個數組在PHP

想要:Arrangement is the proper way of Arr.

+0

這甚至顯示'Arrangementement是你如何Arrangementement' –

+0

的正確方法選擇要替換的單詞? –

回答

2

嘗試preg_replace。這裏的1表示僅在第一個實例上匹配。 /string/搜索字符串。

$haystack = "Arr is the proper way of Arr."; 
echo preg_replace("/Arr/", "Arrangement", $haystack, 1); 
3

使用preg_replaceimplode和分隔符爲你的陣列。分隔符\s|充當or聲明與正則表達式模式,你的陣列創建:

$needle = array("Arr","Arr:","Arrang"); 
$haystack = "Arr: is the proper way of Arr."; 
echo preg_replace("/".implode("\s|",$needle)."\s/", "Arrangement ", $haystack, 1); 

結果

Arrangement is the proper way of Arr. 
+0

如果'$ haystack =「Arr是Arr的正確方式:」;',仍然輸出顯示'安排是Arr的正確方式。「 –

+0

@SubinThomas多數民衆贊成在尋找什麼不是嗎? –

+0

需要''Arr「,」Arr:「,」Arrang「'所有這些被替換,我認爲@Rich –

相關問題