Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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_Str Replace - Fatal编程技术网

PHP-替换出现在两个数字之间的字符串

PHP-替换出现在两个数字之间的字符串,php,str-replace,Php,Str Replace,我的字符串如下所示: 约翰街3/2号 约翰街3,2号 约翰街32号 我想用一个\替换出现在两个数字之间的/、、和。 因此,上述所有内容最终看起来都像是3\2约翰街。 使用PHP最简单的方法是什么?使用preg\u replace('/(\d)[\/,](\d)/','$1\\\$2',$string)使用preg\u替换('/(\d)[\/,](\d)/','$1\\\\$2',$string)尝试以下操作: $str = '3/2 Johns St'; echo $str_new =

我的字符串如下所示:

  • 约翰街3/2号
  • 约翰街3,2号
  • 约翰街32号
我想用一个
\
替换出现在两个数字之间的
/
。 因此,上述所有内容最终看起来都像是
3\2约翰街
。
使用PHP最简单的方法是什么?

使用
preg\u replace('/(\d)[\/,](\d)/','$1\\\$2',$string)

使用
preg\u替换('/(\d)[\/,](\d)/','$1\\\\$2',$string)

尝试以下操作:

$str  = '3/2 Johns St';
echo $str_new  = preg_replace('/(\d)([^\d])+(\d)/','$1\\\\$3',$str);
试试这个:

$str  = '3/2 Johns St';
echo $str_new  = preg_replace('/(\d)([^\d])+(\d)/','$1\\\\$3',$str);

你的意思是“那么上面的内容最终看起来像是
3\3约翰街
用PHP做这件事最简单的方法是什么?”你的意思是“那么上面的内容最终看起来像
3\3约翰街
用PHP做这件事最简单的方法是什么?”
3$2 Johns St
是我得到的输出。然后替换模式应该是
“$1\\\\\$2”
效果很好。谢谢你。你能解释一下这是如何替换空格、斜杠和逗号的吗?我对正则表达式不太了解,但看不出第一个参数中指定了什么,我们在寻找空格、斜杠和逗号。第一个
(\d)
表示“匹配数字并记为$1”,
\d
表示“查找任何东西,但数字除外”,第二个
(\d)
表示“查找数字并记为$2”。替换模式是“使用$1,然后使用反斜杠,然后使用$2”。起初我忘了转义反斜杠,结果是“替换到第一个数字和“$2”。请参阅以了解有关regex的更多信息。感谢您的解释。我只是做了一个测试,它替换了两个数字之间的任何内容。我只想在它是斜杠、逗号或空格时替换它。
3$2 Johns St
是我得到的输出。那么替换模式应该是
“$1\\\\$2”
效果很好。谢谢你。你能解释一下这是如何替换空格、斜杠和逗号的吗?我对正则表达式不太了解,但看不出第一个参数中指定了什么,我们在寻找空格、斜杠和逗号。第一个
(\d)
表示“匹配数字并记为$1”,
\d
表示“查找任何东西,但数字除外”,第二个
(\d)
表示“查找数字并记为$2”。替换模式是“使用$1,然后使用反斜杠,然后使用$2”。起初我忘了转义反斜杠,结果是“替换到第一个数字和“$2”。请参阅以了解有关regex的更多信息。感谢您的解释。我只是做了一个测试,它替换了两个数字之间的任何内容。我只想在它是斜杠、逗号或空格时替换它。