3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Drive_Filter_NormalizeName // implements Zend_Filter_Interface { protected function _replace(array $match) { return sprintf("%012d%s", $match[1], isset($match[2]) ? $match[2] : ''); } public function filter($name) { if (function_exists('mb_strtolower')) { $name = mb_strtolower($name); } else { $name = strtolower($name); } $name = preg_replace_callback('/(\d+)([.,]\d+)?/', array($this, '_replace'), $name); return $name; } } $filter = new Drive_Filter_NormalizeName; echo $filter->filter('Dupa5_5.23_DÓpa3');

preferences:
35.58 ms | 402 KiB | 5 Q