如何全部替换,然后添加编号顺序标记替换


How to replace all, and then add a numbering sequence marking replacements?

你好,我有一个文件名的实例:洛杉矶。php 2252次,我想把它改为洛杉矶-0001.php,洛杉矶-0002.php,洛杉矶-0003.php等等,直到洛杉矶-2252.php,这是如何做到的?

谢谢!

使用preg_replace_callback函数,如下代码所示:

$str = <<< EOF
losangeles.php
losangeles.php
losangeles.php
EOF;
$str = preg_replace_callback('#'b(losangeles)(?='.)#i',
          create_function('$m',
                          'static $i=1; return $m[1] . sprintf("-%04d", $i++);'),
          $str);
echo $str . "'n";
输出:

losangeles-0001.php
losangeles-0002.php
losangeles-0003.php

实时演示:http://codepad.org/aMB9CMTZ