Вы можете использовать шаблон /(\w)\d+$/m
и $1
в качестве замены:
preg_replace('/(\w)\d+$/m', '$1', $input)
Этот шаблон требует, чтобы перед последовательностью цифр был хотя бы один символ слова.
И чтобы применить эту замену к каждому элементу массива, используйте array_map
:
array_map(function($elem) { return preg_replace('/(\w)\d+$/m', '$1', $elem); }, $arr);
Если вы не можете использовать анонимную функцию (доступно начиная с PHP 5.3), как в моем примере, вы можете либо определить отдельную функцию, либо использовать create_function
, либо просто используйте foreach
.