preg_replace_callback 替代 preg_replace

preg_replace_callback alternative of preg_replace

我目前正在使用

preg_replace('/[^a-zA-Z0-9]+/', '_', $str)

使用 preg_replace_callback 的替代函数是什么?

我自己做的

function url_title($mystr){
 $result = '';
 $result .= preg_replace_callback(
                '/[^a-zA-Z0-9]+/',
                function ($matches) { return '_'; }, 
                $mystr);
      
 return strtolower($result);
}

$mystr = "some string here";
echo url_title($mystr);