如何将字符串中的反斜杠替换为单个反斜杠


How to replace backslashes to single backslash from the string?

例如,我有一个字符串

$str = "///a//b/c////d.html";

如何使其与有效的url更加兼容?

$str = preg_replace('/['/]+/', '/', $str);

演示

要用一个斜杠替换多个斜杠,可以使用这样的正则表达式:

$str = "///a//b/c////d.html";
function slug($str) {
    $str = strtolower(trim($str));
    $str = preg_replace('/[^a-z0-9-.]/', '-', $str);
    $str = preg_replace('/-+/', "/", $str);
    return $str;
}
echo slug($str);