一尘不染

preg_replace:在反向引用后添加数字

php

情况

我想在的每个后面preg_replace()添加一个数字。 '8'``[aeiou]


abcdefghij

a8bcde8fghi8j

我应该如何写替换字符串?

// input string
$in = 'abcdefghij';

// this obviously won't work ----------↓
$out = preg_replace( '/([aeiou])/', '\18',  $in);

只是一个例子 ,所以建议str_replace()不是 一个有效的答案。
我想知道替换字符串中的反向引用后如何具有数字。


阅读 252

收藏
2020-05-29

共1个答案

一尘不染

解决方案是将反向引用包装在中${}

$out = preg_replace( '/([aeiou])/', '${1}8',  $in);

这将输出 a8bcde8fghi8j

有关此特殊情况的参考,请参见手册

2020-05-29