Php preg_replace在$1后面添加“00”,不带空格

Php preg_replace在$1后面添加“00”,不带空格,php,replace,preg-replace,Php,Replace,Preg Replace,我试图在1美元后添加00,但在preg_replace中没有空格 我的代码: $count = null; $returnValue = preg_replace('/de(.*)y/i', '$1 00', 'delipsumy', -1, $count); 我想要一个类似于“$1.”“00”的东西来替换输出应该是: lipsum00没有任何空间 我已经试过像‘1美元’、‘00美元’和‘100美元’之类的东西,但都没用 有什么建议吗?试试: $returnValue = preg_repla

我试图在1美元后添加00,但在preg_replace中没有空格

我的代码:

$count = null;
$returnValue = preg_replace('/de(.*)y/i', '$1 00', 'delipsumy', -1, $count);
我想要一个类似于“$1.”“00”的东西来替换输出应该是:

lipsum00没有任何空间

我已经试过像‘1美元’、‘00美元’和‘100美元’之类的东西,但都没用

有什么建议吗?

试试:

$returnValue = preg_replace('/de(.*)y/i', '\${1}00', 'delipsumy', -1, $count);
尝试:

这在增加的重点中得到了解决:

当使用一个替换模式时,一个反向引用后面紧跟着另一个数字,即:将一个文字数字紧跟在一个匹配的模式之后,您不能对反向引用使用熟悉的\1符号\例如,11会混淆preg_replace,因为它不知道是\1 backreference后跟literal 1,还是\11 backreference后跟nothing。在这种情况下,解决方案是使用\${1}1。这将创建一个独立的$1反向引用,将1保留为文本

因此,您的替换模式将是“\${1}00”。例如:

// Output: H__e__ll__o__ W__o__rld
echo preg_replace("/([aeiou])/", "__\${1}__", "Hello World");
请参见行动指南:

这在添加的重点中得到了解决:

当使用一个替换模式时,一个反向引用后面紧跟着另一个数字,即:将一个文字数字紧跟在一个匹配的模式之后,您不能对反向引用使用熟悉的\1符号\例如,11会混淆preg_replace,因为它不知道是\1 backreference后跟literal 1,还是\11 backreference后跟nothing。在这种情况下,解决方案是使用\${1}1。这将创建一个独立的$1反向引用,将1保留为文本

因此,您的替换模式将是“\${1}00”。例如:

// Output: H__e__ll__o__ W__o__rld
echo preg_replace("/([aeiou])/", "__\${1}__", "Hello World");
在行动中看到它: