[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как удалить повторяющиеся символы в строке?
kuzmit4
Есть необычная задача.
Переменная с набором символов, как вырезать все повторяющиеся символы, т.е. чтобы после вырезания каждый символ встречался один раз

$a = "fg3wff3g99e9sfd"; // сейчас так
// Нужно удалить все повторяющиеся символы, и получить "fg3w9esd"


Можно ли такое сделать ?
brevis
$a = "fg3wff3g99e9sfd";
echo count_chars($a, 3);


_____________
Чатик в телеге
kuzmit4
Цитата (brevis @ 27.05.2015 - 20:55)
$a = "fg3wff3g99e9sfd";
echo count_chars($a, 3);

Да работает, но не совсем так как нужно.
Сейчас символы не повторяются, но такой вариант выводит сначала все цифры, а потом все буквы. Можно как-то выводить в том порядке в котором они в переменной $a, т.е. цифры и буквы вперемешку чтобы были.
brevis
$a = "fg3wff3g99e9sfd";
echo implode('', array_unique(str_split($a)));


_____________
Чатик в телеге
killer8080
$a = "fg3wff3g99e9sffffffd"; 
echo $a.'<br>';
$a = preg_replace('#((.)\\2+)#', '<span style="background-color: yellow; color: red;">$1</span>', $a);
echo $a;
volter9
kuzmit4
Можно так:
$a = "sda623dgha2e2asdfsa"; 

echo preg_replace('/(?:(.)(?=.*?\1))/', '', $a);

Только при этом последнии найденные символы останутся, а все до последних удаленны.

_____________
Мой блог
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.