多次更换一个子字符串而不循环? (使用替换数组)

时间:2012-08-13 01:38:46

标签: php

是否可以在字符串中多次替换一个子字符串,但具有不同的替换?我知道这可以用循环和str_replace()完成,但我发誓必须有一个更简单的方法!

示例:

<?php
// Returns '1.2.3';
echo str_replace('%', array(1, 2, 3), '%.%.%');
?>

我是否真的需要在字符串上启动一个循环,然后一次替换一个匹配?这似乎是做一些应该简单得多的事情的草率方式。我错过了什么?

2 个答案:

答案 0 :(得分:0)

这应该可以使用str_ireplace(注意i)。我不确定但它应该这样工作:str_ireplace(array('%', '%', '%'), array(1, 2, 3), '%.%.%')。我现在没有办法测试它。

答案 1 :(得分:0)

正如Scuzzy在评论中所推荐的,vsprintf()原来正是我所寻找的。谢谢!