Cortar Texto: truncar no limite errado corta uma palavra ou um emoji ao meio
Truncar um texto em um número fixo de caracteres — comum para gerar um resumo, uma meta description de SEO, ou respeitar o limite de um campo — tem dois pontos de corte problemáticos que uma implementação ingênua ignora: cortar no meio de uma palavra (produzindo algo como "desenvolvedo" em vez de "desenvolvedor..."), e cortar no meio de um caractere multi-byte (a mesma armadilha já discutida nas páginas de Inverter Texto e Nicks deste site — um emoji ou caractere fora do Plano Multilíngue Básico do Unicode, representado por um par substituto, tendo apenas metade desse par preservada pelo corte).
Corte em limite de caractere vs. limite de palavra: dois algoritmos diferentes
Este cortador usa slice() sobre a string — operando por
unidade de código UTF-16, a mesma unidade discutida (e, ali, evitada
com Array.from()) na página de
Inverter Texto deste site. Isso significa
que, em texto com emojis ou outros caracteres fora do Plano
Multilíngue Básico, o corte pode teoricamente cair no meio de um par
substituto se o limite escolhido coincidir exatamente com essa
posição — um cenário de borda que a opção "não cortar no meio de uma
palavra" (ativa por padrão nesta ferramenta) já reduz na prática,
porque ajusta o corte para o espaço em branco mais próximo antes do
limite, raramente caindo bem no meio de um caractere multi-byte
isolado. O corte por "limite de palavra" é, em si, um algoritmo
diferente do corte por posição fixa: encontra o último espaço em
branco antes do limite de caracteres desejado e corta ali — o
comprimento final fica um pouco menor que o solicitado, em troca de
não interromper uma palavra no meio.
Uso em SEO: meta description e o limite prático do Google
O caso de uso mais comum e concreto para truncamento controlado de texto é gerar uma meta description a partir de um parágrafo maior — o Google historicamente trunca a exibição de meta descriptions em torno de 155-160 caracteres na página de resultados (o número exato varia com o tempo e com o dispositivo), então truncar o texto de forma previsível e sem cortar palavras no meio, antes de publicar a página, evita que o próprio Google faça esse corte de forma menos controlada — frequentemente terminando a descrição no meio de uma frase, com "..." num ponto que não foi escolhido deliberadamente.