Как убрать дубли слов [:de]500 ml[:en]500 ml[:] в строке?
вот есть такая строка [:en]Blooming Sky[:], [:de]500 ml[:en]500 ml[:] а надо или так Blooming Sky 500 ml или такая [:en]Black Brown[:de]Black Brown[:]500 ml[:] а надо Black Brown 500 ml
или такаая Pastels -[:de]Blue Mist[:en]Blue Mist[:] [:de]500 ml[:en]500 ml[:]; а надо Pastels - Blue Mist 500 ml
Ответы (1 шт):
Автор решения: Alex Khonko
→ Ссылка
$input = '-[:de]Blue Mist[:en]Blue Mist[:] [:de]500 ml[:en]500 ml[:]';
// 1. режем строку по конструкции типа [:de]
$input = preg_split('/\[\:.*?\]/i',$input);
// 2. чистка, и проверка
$input = array_map('trim',$input);
$input = array_filter($input);
$input = array_unique($input);
$output = implode(' ',$input);