使用
我只是想用引号包括标记的默认值。
preg_replace_callback
,能否只替换一个反向引用?还是必须返回整个内容?我只是想用引号包括标记的默认值。
$str = 'This is a {$token|token was empty}';
$str = preg_replace_callback('~{\$\w+\|(.*)?}~i', function($match) {
//$match[1] is "token was empty"
//I want to just replace $match[1], but it needs me to return the whole thing
}, $str);
我是否需要获取更多的反向引用,以便能够构建出一个新版本的令牌并返回它,而不是只替换反向引用1?谢谢。
/x
使其更易读,例如:'/{\$\w+\| \K [^{}]* (?= } )/ix'
(也删除了无用的组)。 - Qtax