Download the PHP package devopsadmins/text-helpers without Composer
On this page you can find all versions of the php package devopsadmins/text-helpers. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download devopsadmins/text-helpers
More information about devopsadmins/text-helpers
Files in devopsadmins/text-helpers
Package text-helpers
Short Description Serviço de manipulação de texto de alta performance para projetos em Laravel.
License MIT
Informations about the package text-helpers
String ToolKit for Arbe
Biblioteca de manipulação de strings de alta performance, otimizada para o ecossistema Laravel e desenvolvida com foco em segurança de tipos (readonly class) e eficiência.
📋 Requisitos
- PHP: ^8.2
- Laravel: ^10.0 / ^11.0 / ^12.0
🚀 Instalação
Instale o pacote via Composer:
Autodiscovery: O Laravel registrará automaticamente o
TextHelperServiceProvider.
🛠 Como Usar
O pacote oferece duas formas de uso:
- Acesso Direto:
text()->método() - Interface Fluida (Method Chaining):
text("valor")->método1()->método2()
Interface Fluida (Recomendado)
A interface fluida permite encadear múltiplas operações de forma elegante e legível:
Helper Global text()
A maneira mais rápida de acessar as ferramentas é através do helper global text().
1. Separar Nome e Sobrenome (splitName)
Ideal para normalizar inputs de cadastro ou saídas de API.
2. Abreviar Nomes Longos (abbreviate)
Formata nomes para caber em layouts restritos (listagens, boletos, crachás), preservando o primeiro e último nome.
3. Formatar Nomes Próprios (formatName)
Converte nomes para Title Case, respeitando preposições em português (de, da, dos, e, etc.) que devem permanecer em minúsculo.
4. Mascarar Dados Sensíveis (mask)
Ofusca partes de uma string. Detecta automaticamente e-mails para mascarar tanto o usuário quanto o domínio.
5. Extração de Iniciais (initials)
Gera iniciais a partir de um nome, ideal para avatares (User Interface).
6. Limpeza de Input (clean)
Remove caracteres invisíveis, espaços duplos, tabs e quebras de linha desnecessárias. Essencial para higienizar dados colados de PDFs ou planilhas.
7. Estimativa de Tempo de Leitura (readTime)
Calcula o tempo estimado de leitura em minutos, baseado em uma média de palavras por minuto (padrão: 200 PPM).
8. Verificador de Termos Ofensivos (isClean)
Verifica se o texto contém termos de uma lista de bloqueio (profanity filter).
9. IDs Curtos Legíveis (shortId)
Gera identificadores únicos curtos e amigáveis para humanos (sem caracteres ambíguos como 0, O, 1, l). Ideal para URLs curtas ou códigos de cupom.
🔥 Funcionalidades Avançadas
10. Slug Customizado (slugWithSpecialChars)
Cria slugs mantendo caracteres especiais especificados. Perfeito para sistemas de menções e hashtags.
11. Truncar HTML Inteligente (truncateHtml)
Corta HTML sem quebrar tags, mantendo a estrutura válida.
12. Destacar Palavras-chave (highlight)
Envolve termos de busca em tags HTML (padrão: <mark>), mantendo o case original.
13. Gerenciar Emojis
Remover Emojis (stripEmojis)
Útil para bancos de dados que não suportam utf8mb4.
Converter Shortcodes (emojify)
Shortcodes suportados: :smile:, :heart:, :fire:, :thumbsup:, :rocket:, :party:, entre outros.
14. Valor Monetário por Extenso (moneyToWords)
Converte valores monetários para extenso em português (Brasil). Essencial para contratos, recibos e documentos fiscais.
15. Extrair Menções e Hashtags
Extrair Menções (extractMentions)
Extrair Hashtags (extractHashtags)
16. Markdown para Texto Plano (markdownToPlainText)
Remove toda formatação Markdown, ideal para prévias de e-mail ou descrições meta.
🔗 Métodos Adicionais da Interface Fluida
A classe FluentString também oferece métodos auxiliares para manipulação comum:
💡 Exemplos Práticos de Uso
Processamento de Formulário
Sistema de Blog
Geração de Documentos
Sistema de Busca
Injeção de Dependência
Se preferir não usar helpers globais, você pode injetar o serviço diretamente em Controllers, Jobs ou outros Serviços.
✅ Testes e Qualidade
O pacote inclui uma suíte de testes automatizados utilizando PHPUnit e Orchestra Testbench, cobrindo 100% das funcionalidades críticas.
Executando os Testes
Para rodar a bateria de testes localmente:
Estrutura
- Unitários (
tests/Unit): Valida cada método da classeStringToolkitisoladamente. - Integração (
tests/Feature): Garante que o pacote se comporta corretamente dentro do container Laravel.
Automação (Git Hook)
Para prevenir erros em produção, este repositório conta com um hook de pre-push.
Sempre que você executar git push, os testes serão rodados automaticamente. Se algum teste falhar, o envio é bloqueado.
O script de verificação encontra-se em
.git/hooks/pre-push.
⚙️ Características Técnicas
- Imutabilidade: Implementado como
readonly classdo PHP 8.2+, prevenindo modificações acidentais de estado. - UTF-8 Safe: Utiliza funções
mb_*para garantir o tratamento correto de acentos e caracteres especiais. - Performance: Otimizado para baixo consumo de memória, registrado como Singleton no container do Laravel.
📝 Licença
MIT License.