在PHP中,我有一个字符串,其值类似于1 OR 2
或1 AND (20 OR 3)
。我想用短语后跟数字替换这些数字,以使condition1
含义为:{/ p>
1 OR 2
=> condition1 OR condition2
1 AND (20 OR 3)
=> condition1 AND (condition20 OR condition3)
我想我可以使用preg_replace来做到这一点,但我无法弄清楚如何。在更换过程中,我很难保留数字的价值。
如果它更容易,我也会接受javascript中的答案
答案 0 :(得分:3)
如果运算符的参数是字符串中的唯一数字,则可以执行以下操作:
$new = preg_replace( '/(\d+)/', 'condition$1', $input);
这匹配任意连续的数字位数,并在捕获组中捕获它们,我们稍后在替换中将其引用为$1
。
您可以从this demo看到,对于您的测试用例,此输出:
condition1 OR condition2
condition1 AND (condition20 OR condition3)
答案 1 :(得分:1)
$search can be array whatever you want to replace
$replace can alse be an array wherever you want to replace in a string
$string is a string where you want to change
是您的问题的解决方案还是您想要别的东西?