Регистронезависимость в implode
$string = 'Шерсть хлопок шерсть 15 35 15';
$array = implode(' ', array_unique(preg_split('/\s+/iu', $string)));
echo $array;
Если данные в одном регистре, то скрипт работает, удаляет повторяющиеся значения. А если есть заглавные буквы, то нет, несмотря на флаг i. Как это исправить?
Ответы (1 шт):
Автор решения: Slava Rozhnev
→ Ссылка
Приводим строку к нижнему регистру. По окончании возвращаем заглавную букву:
<?php
function mb_ucfirst($string)
{
return mb_strtoupper(mb_substr($string, 0, 1)).mb_substr($string, 1);
}
$string = 'Шерсть хлопок шерсть 15 35 15';
$result = implode(
' ',
array_unique(
preg_split('/\s+/iu',
mb_strtolower($string)
)
)
);
echo mb_ucfirst($result);