-9

我有字符串中的模式要替换为其他内容。

例如

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

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

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

2 回答 2

2

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

只有当您可以约束匹配的值时,您才可以使用preg_replacewith /e

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

这将arg($decimal)调用{n}. 如果您只匹配示例中的小数,则可行。

于 2012-10-31T11:14:54.237 回答
1

通过这个函数

str_replace

preg_replace

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

$str = str_replace("{i}", arg(i), $str);
}
于 2012-10-31T11:06:21.243 回答