为什么我的函数会向此 URL 添加额外的短划线?( PHP:Regex).


Why does my function add an extra dash to this URL? ( PHP:Regex)

function convert($raw) {
    $new = preg_replace("![^a-z0-9]+!i", "-", $raw);
    return $new;
}

当我运行它时,函子将"一个男孩"变成"a-boy-",但我想要"a-boy"如何修改正则表达式来解决这个问题?

谢谢!

function convert($raw) {
    $new = preg_replace("![^a-z0-9]+!i", "-", $raw);
    $new = rtrim($new,'-');
    return $new;
}

看看这个它工作正常

function convert($raw) {
    $new = preg_replace("![^a-z0-9]+!i", " ", $raw);
    return $new;
}
$data ="a - boy";
echo convert($data);