Если вызов str_replace
для удаления пробелов не дает нужного результата:
$text = str_replace(' ', '', $text)
То вероятнее всего между словами располагаются не пробелы, а другие спецсимволы, например неразрывный пробел’\u00a0‘ или другой символ, который не всегда легко отличим от пробела.
В таком случае попробуйте следующее решение:
$text = preg_replace('/\s+/ui', '', $text);