Лучше получите разницу ваших разбитых массивов $exp
минус $filtr
:
$clean = implode(',', array_diff($exp, $filtr));
Это также исключает вероятность того, что вы удалите только подстроку из другого слова, как при удалении car
из bike,car,carpet
должно получиться bike,carpet
, а не bike,pet
.
И если вы хотите разрешить пробелы до и после каждого слова, рассмотрите возможность использования trim
и preg_split
:
$exp = preg_split('/\s*,\s*/', trim($data));
trim
удалит все предшествующие и конечные пробелы, а шаблон для preg_split
также разрешает пробелы вокруг запятой.