$search = array('{user}', '{site}');
$replace = array('Qiao', 'stackoverflow');
$subject = 'Hello {user}, welcome to {site}.';
echo str_replace ($search, $replace, $subject);
结果在Hello Qiao, welcome to stackoverflow.
。
$array_from_to = array (
'from1' => 'to1';
'from2' => 'to2';
);
这不是一个二维数组,它是一个关联数组。
扩展在第一个例子,我们的$搜索作为数组的键和$更换,因为它的价值,代码是这样的。
$searchAndReplace = array(
'{user}' => 'Qiao',
'{site}' => 'stackoverflow'
);
$search = array_keys($searchAndReplace);
$replace = array_value($searchAndReplace);
# Our subject is the same as our first example.
echo str_replace ($search, $replace, $subject);
结果在Hello Qiao, welcome to stackoverflow.
。
是的,我的不好。改变了它 – Qiao 2010-03-08 04:37:51
它不是说明问题的完美解决方案(原因长度应该是相同的),但它是在我的情况理想。速度很快。 – Qiao 2010-03-08 04:48:39
'strtr'可以正常使用与搜索值长度不同的替换值。它和'str_replace'的区别在于'strtr'只会做一次翻译(最长的时候会先匹配),这会更快(但结果不同)。例如,['ab'=>'c','c'=>'d']会将'ab'翻译为'c',而使用str_replace时,它将变成'd'。 – Matthew 2010-03-08 04:54:15