我有字符串中的模式要替换为其他内容。
例如
$str = '{1} Foo Bar {4}';
我希望将上面的字符串转换为:
$str = arg(0). 'Foo Bar'.arg(4)
在这种情况下,最好使用preg_replace_callback()
. 目前还不清楚什么arg(4)
是变量或真正的函数调用。
只有当您可以约束匹配的值时,您才可以使用preg_replace
with /e
:
$text = preg_replace('~ [{] (\d+) [}] ~xie', 'arg($1)', $text);
这将arg($decimal)
调用{n}
. 如果您只匹配示例中的小数,则可行。