2015-08-23 96 views
0

我試圖用一個字符串替換兩個單詞,而忽略他們的情況,但我似乎無法找到一種方法來使其正確工作。請看看我的代碼:替換兩個單詞,而忽略大小寫,PHP

$text = "you and me"; 

$text = str_ireplace("you","me",$text); 
//$text is "me and me"; 
$text = str_ireplace("me","you",$text); 
//$text is "you and you"; 

預期結果:「我和你」;

實際結果:「你和你」;

編輯:實際不包括忽略情況。

+1

我認爲這個問題是不是複製,因爲筆者需要區分大小寫的搜索,反正我添加了一個答案相關的問題。 –

回答

2

這很簡單,只要使用str_ireplace

$text = "YoU and mE"; 
$from = array('you', 'me', '__TMP__'); 
$to = array('__TMP__', 'you', 'me'); 
$text = str_ireplace($from, $to, $text); 
+0

這會忽略像str_ireplace這樣的情況嗎? – jessica

+0

它給了我一個互聯網網絡錯誤。 – jessica

+0

@jessica我更新了示例 –

0

檢查:http://php.net/manual/en/function.strtr.php

$trans = array("you" => "me", "me" => "you"); 
echo strtr("you and me", $trans); 
+0

這對於多字符串字符串不起作用。 –

+0

你是對的,這應該是你的朋友 str_ireplace(array_keys($ replace_pairs),array_values($ replace_pairs),$ str); – Armand