codes name="name1"
code name="hello1" version="2012"
code name="123" version="2012"
code name="代码" version="2012"
正则成如下格式
codes name="name1"
code name="20121226-001" version="2012"
code name="20121226-002" version="2012"
code name="20121226-003" version="2012"
正则公式
<?php
$str= 'codes name="name1"
code name="hello1" version="2012"
code name="123" version="2012"
code name="代码" version="2012"
';
function rep_cb($matches) {
static $i = 1;
return sprintf("%s20121226-%03d%s", $matches[1], $i ++, $matches[3]);
}
echo preg_replace_callback('/(name=")([^"]*)("\s+version=)/', 'rep_cb', $str);