用PHP替换模式

时间:2012-10-31 11:01:41

标签: php regex

我在字符串中有模式被替换为其他东西。

e.g。

$str = '{1} Foo Bar {4}';

我希望上面的字符串转换为:

$str = arg(0). 'Foo Bar'.arg(4)

2 个答案:

答案 0 :(得分:2)

在这种情况下,最好使用preg_replace_callback()。目前还不清楚arg(4)是什么,变量函数还是实函数。

只有您可以约束匹配的值时,您可以preg_replace使用/e,如下所示:

 $text = preg_replace('~ [{] (\d+) [}] ~xie', 'arg($1)', $text);

每次出现arg($decimal)时都会调用{n}。如果您只匹配示例中的小数,则可以使用。

答案 1 :(得分:1)

完成此功能

str_replace

preg_replace

for(i=0;i<n;i++){

$str = str_replace("{i}", arg(i), $str);
}