【发布时间】:2020-10-17 05:48:23
【问题描述】:
我想用带有 3 个空格的“1”替换像 0001 这样的字符串。
我试过 str_replace 但这在 0010 上不起作用。 我尝试了一些 preg_replace 但无法获得替换相同号码的替换权
我已经写了这个基本的东西,它可以工作,但如果可能的话,我正在寻找更有效的东西。
$pin = '0010';
$temp = ltrim($pin, '0');
$spaces = strlen($pin) - strlen($temp);
for ($x=1;$x<=$spaces;$x++) $temp = ' '.$temp;
echo $temp;
与 preg_replace 最接近的是这个,但我不确定如何替换:
preg_replace('/0+/', ' ', $pin)
【问题讨论】:
-
效率是否非常重要,因为您在一次执行中对数十万个字符串执行这种零替换?
标签: php preg-replace trim