2015-08-08 146 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);