Вы можете использовать str_word_count, чтобы получить слова и значения array_count, чтобы подсчитать, сколько раз каждое слово встречается в строке
и заменяйте каждое слово, если число больше 1
<?php
$text = "1-string-2-string-3-string-55-otherstring-66-otherstring";
$words = str_word_count($text, 1);
$frequency = array_count_values($words);
foreach($frequency as $item=>$count) {
$item = rtrim($item,"-");
if($count >1){
$text = str_replace($item,"",$text);
}
}
echo $text;
?>