Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 用短语编号替换字符串中的数字_Php_Regex_String_Preg Replace - Fatal编程技术网

Php 用短语编号替换字符串中的数字

Php 用短语编号替换字符串中的数字,php,regex,string,preg-replace,Php,Regex,String,Preg Replace,在PHP中,我有一个字符串,其值类似于1或2,或者可能是1和(20或3)。我想将这些数字替换为一个短语,后跟数字,使之成为类似于condition1的意思: 1或2=>condition1或condition2 1和(20或3)=>condition1和(condition20或condition3) 我想我可以用preg_replace来做这件事,但我不知道怎么做。在替换过程中,我很难保留数字的值 如果让它变得更简单,我也会接受javascript中的答案,如果运算符的参数是字符串中唯一的数字

在PHP中,我有一个字符串,其值类似于
1或2
,或者可能是
1和(20或3)
。我想将这些数字替换为一个短语,后跟数字,使之成为类似于
condition1
的意思:

1或2
=>
condition1或condition2

1和(20或3)
=>
condition1和(condition20或condition3)

我想我可以用preg_replace来做这件事,但我不知道怎么做。在替换过程中,我很难保留数字的值


如果让它变得更简单,我也会接受javascript中的答案,如果运算符的参数是字符串中唯一的数字,您可以执行以下操作:

$new = preg_replace( '/(\d+)/', 'condition$1', $input);
这将匹配任意连续数目的数字,并在捕获组中捕获它们,稍后我们将其替换为
$1

从中可以看出,对于您的测试用例,这将输出:

condition1 OR condition2
condition1 AND (condition20 OR condition3)

如果运算符的参数是字符串中唯一的数字,则可以执行以下操作:

$new = preg_replace( '/(\d+)/', 'condition$1', $input);
这将匹配任意连续数目的数字,并在捕获组中捕获它们,稍后我们将其替换为
$1

从中可以看出,对于您的测试用例,这将输出:

condition1 OR condition2
condition1 AND (condition20 OR condition3)
你可以用 str_replace($search,$replace,$string)

这是您问题的解决方案还是您需要其他解决方案?

您可以使用 str_replace($search,$replace,$string)


这是你问题的解决方案还是你想要别的。。。你能举一个句子的例子吗?preg_replace是可以接受的,但我不知道如何正确地使用它来做我需要的事情。。。你能举一个句子的例子吗?preg_replace是可以接受的,但我不知道如何正确地使用它来做我需要的事情