您好,我有一个文件名的实例:losangeles.php 2252次,我想把它改成losangeles-0001.php、losangeles-0002.php、losangeles-0003.php等等,直到losangeles-2252.php,这是怎么做到的?
谢谢!

最佳答案

在这段代码中使用preg_replace_callback functionlike:

$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

09-07 11:38