Заменить несколько штрихов одним штрихом

У меня есть строка, которая выглядит следующим образом:

something-------another--thing
       //^^^^^^^       ^^

Я хочу заменить несколько штрихов на одну.

Таким образом, ожидаемый результат будет:

something-another-thing
       //^       ^

Я пытался использовать str_replace(), но мне придется снова писать код для каждого возможного количества тире. Так как же я могу заменить любое количество тире одним?

Для Ризье:

Пробовал:

 $mystring = "something-------another--thing";
 str_replace("--", "-", $mystring);
 str_replace("---", "-", $mystring);
 str_replace("----", "-", $mystring);
 str_replace("-----", "-", $mystring);
 str_replace("------", "-", $mystring);
 str_replace("-------", "-", $mystring);
 str_replace("--------", "-", $mystring);
 str_replace("---------", "-", $mystring);
 etc...

Но строка могла иметь 10000 строк между двумя словами.

8
задан MM PP 25 April 2015 в 13:14
поделиться