<?php
function slugger(
    
string $input,
    array 
$callbacks = [
        static function (
$value) { return \strtolower($value); },
        static function (
$value) { return \preg_replace('/[^a-z]/''-'$value); },
        static function (
$value) { return \trim($value'-'); },
        static function (
$value) { return \preg_replace('/-+/''-'$value); },
    ]
) {
    foreach (
$callbacks as $callback) {
        
$input $callback($input);
    }
    return 
$input;
}
 
var_dump(slugger('Hello, World!')); // string(11) "hello-world"
?>