Php 用字符串中数字之间的点替换空格

Php 用字符串中数字之间的点替换空格,php,regex,preg-replace,Php,Regex,Preg Replace,假设我有一个字符串: $string = 'this is my 1 23 4 text'; 我正在努力创建find/replace regex,使字符串看起来像这样(仅用数字之间的点替换空格): 如果您有任何建议,我们将不胜感激。请尝试以下方法: <? $str = "this is my 1 23 4 text"; echo preg_replace('/(\d)\s(\d)/', '$1.$2', $str); ?> 尝试以下操作: <? $str = "this

假设我有一个字符串:

$string = 'this is my 1 23 4 text';
我正在努力创建find/replace regex,使字符串看起来像这样(仅用数字之间的点替换空格):

如果您有任何建议,我们将不胜感激。

请尝试以下方法:

<?
$str = "this is my 1 23 4 text";
echo preg_replace('/(\d)\s(\d)/', '$1.$2', $str);
?>

尝试以下操作:

<?
$str = "this is my 1 23 4 text";
echo preg_replace('/(\d)\s(\d)/', '$1.$2', $str);
?>

尝试以下操作:

<?
$str = "this is my 1 23 4 text";
echo preg_replace('/(\d)\s(\d)/', '$1.$2', $str);
?>

尝试以下操作:

<?
$str = "this is my 1 23 4 text";
echo preg_replace('/(\d)\s(\d)/', '$1.$2', $str);
?>

使用:

使用:

使用:

使用:



预更换。(
(\d)(\d)
=>
$1.$2
)这实际上并不像看上去那么容易。由于不允许重叠,请更换。(
(\d)(\d)
=>
$1.$2
)这实际上并不像看上去那么容易。由于不允许重叠,请更换。(
(\d)(\d)
=>
$1.$2
)这实际上并不像看上去那么容易。由于不允许重叠,请更换。(
(\d)(\d)
=>
$1.$2
)这实际上并不像看上去那么容易。由于不允许重叠,因此不允许重叠。。它似乎停止工作时,有超过2位之间的空格。。。它将文本2替换为文本2.2,但如果有文本2,它将只输出:文本2.22@DadaB,正如我在您的问题下的评论中所说的那样。@DadaB,解决这个问题的最简单方法是在字符串上运行regex,然后在result.ya上再次运行它,但是如果。。字符串中有更多的数字,或者更少,并且我在不需要时运行preg_替换两次?因为字符串是随机的。。所以每次执行函数时,数字计数都会发生变化^^Oops。。它似乎停止工作时,有超过2位之间的空格。。。它将文本2替换为文本2.2,但如果有文本2,它将只输出:文本2.22@DadaB,正如我在您的问题下的评论中所说的那样。@DadaB,解决这个问题的最简单方法是在字符串上运行regex,然后在result.ya上再次运行它,但是如果。。字符串中有更多的数字,或者更少,并且我在不需要时运行preg_替换两次?因为字符串是随机的。。所以每次执行函数时,数字计数都会发生变化^^Oops。。它似乎停止工作时,有超过2位之间的空格。。。它将文本2替换为文本2.2,但如果有文本2,它将只输出:文本2.22@DadaB,正如我在您的问题下的评论中所说的那样。@DadaB,解决这个问题的最简单方法是在字符串上运行regex,然后在result.ya上再次运行它,但是如果。。字符串中有更多的数字,或者更少,并且我在不需要时运行preg_替换两次?因为字符串是随机的。。所以每次执行函数时,数字计数都会发生变化^^Oops。。它似乎停止工作时,有超过2位之间的空格。。。它将文本2替换为文本2.2,但如果有文本2,它将只输出:文本2.22@DadaB,正如我在您的问题下的评论中所说的那样。@DadaB,解决这个问题的最简单方法是在字符串上运行regex,然后在result.ya上再次运行它,但是如果。。字符串中有更多的数字,或者更少,并且我在不需要时运行preg_替换两次?因为字符串是随机的。。所以每次执行函数时,数字计数都会变化^^