Php 正则表达式与重复替换

Php 正则表达式与重复替换,php,regex,preg-replace,Php,Regex,Preg Replace,考虑以下代码: echo preg_replace('#(\w) (\w) (\w)#','{\1}<\2>{\3}',$string); echo preg_替换('#(\w)(\w)(\w)(\w)#','{\1}{\3}',$string); 如果$string='abc'它将产生{a}{c}。如何修改$string='abc'返回:{a}{c} 这是怎么回事:a a b c c 这只是一个例子。请大致回答。试试这个 $new=preg_replace(array('#(

考虑以下代码:

 echo preg_replace('#(\w) (\w) (\w)#','{\1}<\2>{\3}',$string);
echo preg_替换('#(\w)(\w)(\w)(\w)#','{\1}{\3}',$string);
如果
$string='abc'它将产生
{a}{c}
。如何修改
$string='abc'
返回:
{a}{c}

这是怎么回事:
a a b c c

这只是一个例子。请大致回答。

试试这个

$new=preg_replace(array('#(\w) (.*) (\w)#','#(.*?) #'),array('{\1}<\2>{\3}','\1><'),$string);

$new=preg_replace(数组('#(\w)(.*)(\w)#'、'#(.*?)#')、数组('{\1}{\3}','\1>以下是适合您的代码

$str='a a a b b b c c c';
$regex = array('/\b(a)\b\s*/', '/\b(b)\b\s*/', '/\b(c)\b\s*/');
$repl = array('{\1}', '<\1>', '{\1}');

$nstr = preg_replace($regex, $repl, $str);
echo "$nstr\n";
// OUTPUT: {a}{a}{a}<b><b><b>{c}{c}{c}
$str='a a b c';
$regex=array('/\b(a)\b\s*/','/\b(b)\b\s*/','/\b(c)\b\s*/');
$repl=array('{\1}',''{\1}');
$nstr=preg_replace($regex、$repl、$str);
回显“$nstr\n”;
//输出:{a}{a}{a}{c}{c}{c}

现场演示:你能解释一下你的答案吗?@PHPst看到答案了。我试着用例子来解释它。我希望能帮助你字符串
a a b c c
应该输出什么?@anubhava‍‍‍‍‍‍‍‍<代码>{a}{a}{a}{c}{c}{c}
或‍‍‍‍‍‍‍‍<代码>{a}{a}{a}(c)(c)(c)