我在字符串中有模式被替换为其他东西。
e.g。
$str = '{1} Foo Bar {4}';
我希望上面的字符串转换为:
$str = arg(0). 'Foo Bar'.arg(4)
答案 0 :(得分:2)
在这种情况下,最好使用preg_replace_callback()
。目前还不清楚arg(4)
是什么,变量函数还是实函数。
只有您可以约束匹配的值时,您可以preg_replace
使用/e
,如下所示:
$text = preg_replace('~ [{] (\d+) [}] ~xie', 'arg($1)', $text);
每次出现arg($decimal)
时都会调用{n}
。如果您只匹配示例中的小数,则可以使用。
答案 1 :(得分:1)