Очень простое регулярное выражение для удаления дубликатов слов из текста:
$str = 'Текст, содержащий дубликаты слов';
$str = preg_replace("#s(w+s)1#siu", "$1", $str);
echo $str;
Источник: https://www.kobzarev.com/programming/remove-duplicate-words-from-text/