Função para remover caracteres ocultos de uma string no PHP
$v = preg_replace('/\s+|[[:^print:]]/', '', $string);
trim() remove apenas ” \t\n\r\0\x0B” (veja a documentação), então use o snippet acima para remover caracteres não impressos da string.
A função acima também irá remover espaços
Faça um teste com resultado (texto) antes para validar se a função atende ou não o seu requisito