- sscanf: documentation ( source)
- str_pad: documentation ( source)
- printf: documentation ( source)
<?php
$strings = [
'dir1summary',
'dir10summary',
'dir1summarydue',
'dir10summarydue',
'directive1',
'directive10',
'directivecode1',
'directivecode10',
];
foreach ($strings as $string) {
sscanf($string, '%[^0-9]%d%s', $dir, $num, $str);
printf("%s%s%02d\n", str_pad($dir, 9, 'ective'), $str, $num);
}