Регулярные выражения: удаление заданных повторяющихся групп символов

Eugeniy

Новичок
Вообще у меня задача сжать все повторяющие подряд (через пробел или без пробела) смайлы в один.
Но я вот даже не могу найти повторяющиеся смайлы.
Для упрощения у меня пока один смайл :)
Текст "Всем привет! :):) :)"
Регулярка у меня получается как то так
PHP:
if (preg_match("/(:{1}\){1})(?:\\1){2,}/", $text)) {
	echo 'найдено';
}
но не работает.
Не подскажите в чем ошибка?
 

Linker

Новичок
PHP:
$str = preg_replace('!(:\)[\s]*)+!', ':)', $str);
как-то так навскидку...
 

Eugeniy

Новичок
ну тогда получилось так
PHP:
foreach ($smiles_arr as $k=>$v) {
	$text = preg_replace('!('.preg_quote($k).'[\s]*)+!', $k, $text);
}
 
Сверху