preg_replace('/(.)\1{2,}/', '\1', $str)
забыл уточнить, нужно именно чтобы конкретно заменяло только двойки <...> на две двойки
preg_replace('/2{3,}/', '22', $str)
// или
preg_replace('/2+(?=22)/', '', $str)
$str = '1222542264222';
$str = preg_replace('~(2)\1{2,}~', '$1', $str);
echo $str;