Удалить дублирующееся слово в строке в php - PullRequest
0 голосов
/ 20 августа 2010

Я хочу удалить повторяющиеся слова в строке.

Например:

$str="oneone"; (без пробелов)

Я хочу удалить дубликаты и отобразить как одно.

Может кто-нибудь предложить мне решение?

1 Ответ

2 голосов
/ 20 августа 2010

Я не уверен, что вы спрашиваете.Как уже говорили другие, будет сложно удалить все дубликаты.Но если вы просто хотите, чтобы слова содержали только дубликаты (например, вы хотите изменить «один» на «один», но оставить «все один» как есть), самое простое, что нужно сделать, это проверить слова с четнымколичество букв, где вторая половина совпадает с первой половиной.

Разделите текст на слова, и для каждого слова сделайте что-то вроде

$length = strlen($word);
if (! $length % 2 && substr($word, 0, $length / 2) == substr($word, ($length / 2) + 1, $length /2))
    $word = substr($word, 0, $length / 2);
...