PHP用连字符替换所有空格

jme*_*zes 5 php

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

$final = str_replace(' ','-',$final); The - is the only thing I replace.
Run Code Online (Sandbox Code Playgroud)

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

Metallica - Hero of the Day
Run Code Online (Sandbox Code Playgroud)

我最终得到:

 Metallica---Hero-of-the-Day
Run Code Online (Sandbox Code Playgroud)

请注意3 ---那里?

你能建议一种优雅的方式,只用一个-而不是三个.

我可以继续做str_replace直到它完成,但那看起来不对.

Pet*_*Wal 11

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

$final = preg_replace('#[ -]+#', '-', $text);
Run Code Online (Sandbox Code Playgroud)

  • `$final = preg_replace('#[ -]+#', '-', trim($text))`; 为我工作 (2认同)