如何用另一个char替换同一个char的两个或多个出现?

Yer*_*oon 0 php string

我正在尝试用一段PHP代码来替换字符串中char的多个相邻出现,只有一个char出现.

例:

my-string--is---dashed
Run Code Online (Sandbox Code Playgroud)

应成为:

my-string-is-dashed
Run Code Online (Sandbox Code Playgroud)

Ste*_*ven 6

最直接的解决方案是使用正则表达式替换.

$output = preg_replace('/-+/', '-', $input);
Run Code Online (Sandbox Code Playgroud)

实际上,为了限制空置替换,您可以选择使用以下内容:

$output = preg_replace('/-{2,}/', '-', $input);
Run Code Online (Sandbox Code Playgroud)