PHP 用连字符替换所有空格


PHP replace all spaces with hyphens

我在脚本中用连字符替换所有空格,如下所示:

$final = str_replace(' ','-',$final); The - is the only thing I replace.

我要替换的是Band Name - Song Name 所以在这种情况下,如果我有类似的东西:

Metallica - Hero of the Day

我最终得到:

 Metallica---Hero-of-the-Day

注意到那里的 3 ---了吗?

您能否建议一种优雅的方式,以一个-而不是 3

个结束。

我可以一直做str_replace直到它完成,但这看起来不对。

使用正则表达式更改多个空格或连字符,并用一个连字符:

$final = preg_replace('#[ -]+#', '-', $text);