2015-08-08 147 views
0

PHP多個字符串替換PHP

$nn="ab bc cd cd ab"; 
$tttt=str_ireplace("cd","aaa",$nn); 
$tt=str_ireplace("ab","aaa",$tttt); 

但下面的編碼工作不

$nn="ab bc cd cd ab"; 
$tttt=str_ireplace("cd" or "ab","aaa",$nn); 

輸出爲 「AAA BC AAA AAA AAA」。請幫我simplyfying it.because有對於各種單詞來說,更多的是替代。

+0

與'foreach'一起使用數組。 – Script47

+0

查找'preg_replace' –

+0

在** PHP **中有關於函數** str_ireplace **的問題,那麼爲什麼不簡單地查看一下手冊? - > http://php.net/manual/en/function.str-ireplace.php < - 答案是 – Rizier123

回答

0

您可以使用preg_replace接受正則表達式作爲第一個參數。 ab|cd將匹配abcd

preg_replace('~cd|ab~i', 'aaa', $nn); 

並添加i修飾符用於執行不區分大小寫的匹配。

+1

這裏不需要正則表達式,因爲該函數也將一個數組作爲參數。 (但它也可以工作:) – Rizier123

+0

即使[手冊](http://php.net/manual/en/function.str-ireplace.php)也與我一致:*如果你不需要更換規則**,你**一般應該使用這個函數**而不是preg_replace()和我修飾符。*:] – Rizier123

1

您可以在第一個參數str_ireplace中使用數組。

$nn="ab bc cd cd ab"; 
$replace_words = array("ab", "cd"); 
$tttt = str_ireplace($replace_words, "aaa", $nn);