如何用数组替换字符串中的单词

时间:2015-02-01 12:56:43

标签: php

我的情况:

$search  = array('A', 'B', 'C', 'D', 'E');
$replace = array('B', 'C', 'D', 'E', 'F');
$subject = 'A and B';

我想将$subject更改为新字符串B and C

我尝试使用str_replace($search, $replace, $subject),但它已返回F and F

我该怎么做?非常感谢!

1 个答案:

答案 0 :(得分:1)

使用strtr

$result = strtr($subject, array_combine($search, $replace));

str_replace不同,strtr一次执行字符串并避免循环替换。

(您必须明白,对于搜索数组中的每个项目,str_replace会处理整个字符串。)

请注意,对于您的具体示例,您可以写:

$result = strtr($subject, 'ABCDE', 'BCDEF');

strtr可以两种不同的方式使用。