PHP code example of devopsadmins / text-helpers

1. Go to this page and download the library: Download devopsadmins/text-helpers library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

devopsadmins / text-helpers example snippets


// Exemplo: Limpa, formata e abrevia um nome
echo text("  VINICIUS DIAS DE SOUZA  ")
    ->clean()
    ->formatName()
    ->abbreviate(20);
// Resultado: "Vinícius D. Souza"

// Exemplo: Processa um slug customizado
echo text("@devops_admins #laravel")
    ->slugWithSpecialChars(['@', '#']);
// Resultado: "@devops-admins-#laravel"

// Exemplo: Converte markdown e formata
echo text("# **João Da Silva**")
    ->markdownToPlainText()
    ->formatName();
// Resultado: "João da Silva"

$fullName = "Vinícius Dias de Souza";

$data = text()->splitName($fullName);

// Resultado:
// [
//     'firstName' => 'Vinícius',
//     'lastName'  => 'Dias de Souza'
// ]

echo $data['firstName']; // Vinícius

// Modo fluido
$data = text("Vinícius Dias de Souza")->splitName();

// Abrevia se for maior que o limite (padrão 20 chars)
echo text()->abbreviate("Vinícius Dias de Souza"); 
// Saída: "Vinícius D. Souza"

// Com limite personalizado
echo text()->abbreviate("Maria da Silva", 50); 
// Saída: "Maria da Silva" (não abrevia pois cabe no limite)

// Modo fluido
echo text("Vinícius Dias de Souza")->abbreviate(20);

echo text()->formatName("VINICIUS DE SOUZA");
// Saída: "Vinícius de Souza"

// Modo fluido
echo text("VINICIUS DE SOUZA")->formatName();

// Email
echo text()->mask("[email protected]");
// Saída: "eve*****@g****.com"

// CPF / Outros (mantém os primeiros X caracteres visíveis)
echo text()->mask("12345678900", 3);
// Saída: "123********"

// Modo fluido
echo text("[email protected]")->mask();

echo text()->initials("Vinícius Dias de Souza");
// Saída: "VS"

// Modo fluido
echo text("Vinícius Dias de Souza")->initials();

echo text()->clean("  Nome    Sobrenome  ");
// Saída: "Nome Sobrenome"

// Modo fluido
echo text("  Nome    Sobrenome  ")->clean();

$minutes = text()->readTime($conteudoLongo);
echo "$minutes min de leitura";

// Modo fluido
$minutes = text($conteudoLongo)->readTime();

if (! text()->isClean($comentario)) {
    abort(403, "Conteúdo inadequado.");
}

// Modo fluido
if (! text($comentario)->isClean()) {
    abort(403, "Conteúdo inadequado.");
}

echo text()->shortId(6);
// Saída Ex: "K9P3XZ"

echo text()->slugWithSpecialChars("@devops_admins #laravel", ['@', '#']);
// Saída: "@devops-admins-#laravel"

// Slug padrão
echo text("Hello World!")->slug();
// Saída: "hello-world"

// Com separador customizado
echo text("Hello World")->slugWithSpecialChars([], '_');
// Saída: "hello_world"

$html = '<p>Este é um <strong>texto longo</strong> com HTML.</p>';

echo text()->truncateHtml($html, 20);
// Saída: "<p>Este é um <strong>texto</strong>...</p>"

// Modo fluido
echo text($html)->truncateHtml(20, '...');

echo text()->highlight("O Laravel é incrível", "laravel");
// Saída: "O <mark>Laravel</mark> é incrível"

// Múltiplas palavras
echo text()->highlight("Laravel e PHP", ["laravel", "php"]);
// Saída: "<mark>Laravel</mark> e <mark>PHP</mark>"

// Tag customizada
echo text("Laravel")->highlight("laravel", "span");
// Saída: "<span>Laravel</span>"

echo text()->stripEmojis("Olá! 😀");
// Saída: "Olá!"

// Modo fluido
echo text("Olá! 😀")->stripEmojis();

echo text()->emojify("Isso é :fire: demais :thumbsup:");
// Saída: "Isso é 🔥 demais 👍"

// Modo fluido
echo text("Hello :smile:")->emojify();
// Saída: "Hello 😀"

echo text()->moneyToWords(150.50);
// Saída: "cento e cinquenta reais e cinquenta centavos"

echo text()->moneyToWords(1.00);
// Saída: "um real"

echo text()->moneyToWords(2000.10);
// Saída: "dois mil reais e dez centavos"

echo text()->moneyToWords(1000000);
// Saída: "um milhão reais"

$text = "Olá @usuario1, você viu o que @usuario2 postou? @usuario1 está incrível!";
$mentions = text()->extractMentions($text);
// Resultado: ['usuario1', 'usuario2'] (sem duplicatas)

// Modo fluido
$mentions = text($text)->extractMentions();

$text = "Adoro #Laravel e #PHP! #Laravel é o melhor.";
$hashtags = text()->extractHashtags($text);
// Resultado: ['Laravel', 'PHP'] (sem duplicatas)

// Modo fluido
$hashtags = text($text)->extractHashtags();

$markdown = '# Título\n\nEste é um **texto** em _markdown_ com [link](http://example.com).';

echo text()->markdownToPlainText($markdown);
// Saída: "Título\n\nEste é um texto em markdown com link."

// Modo fluido
echo text($markdown)->markdownToPlainText();

// Case transformation
text("hello")->upper()              // "HELLO"
text("HELLO")->lower()              // "hello"
text("hello world")->title()        // "Hello World"

// String manipulation
text("  spaces  ")->trim()          // "spaces"
text("Hello World")->replace("World", "Laravel")  // "Hello Laravel"
text("Long text...")->limit(5)      // "Long ..."

// Verificações (retornam bool)
text("Hello World")->contains("World")     // true
text("Hello")->startsWith("Hel")          // true
text("Hello")->endsWith("lo")             // true
text("")->isEmpty()                       // true
text("Hello")->isNotEmpty()               // true
text("Hello")->length()                   // 5

$nomeFormatado = text($request->input('nome'))
    ->clean()
    ->formatName()
    ->toString();

// Tempo de leitura e resumo
$tempoLeitura = text($post->conteudo)->readTime();
$resumo = text($post->conteudo_html)->truncateHtml(150);

// Extração de metadados
$mentions = text($post->conteudo)->extractMentions();
$hashtags = text($post->conteudo)->extractHashtags();

$valorExtenso = text()->moneyToWords($invoice->total);
// "mil duzentos e trinta reais e quarenta e cinco centavos"

$resultadoDestacado = text($conteudo)->highlight($termoBusca, 'mark');

use Arbe\TextHelpers\Services\StringToolkit;

class CustomerController extends Controller
{
    public function __construct(
        private readonly StringToolkit $text
    ) {}

    public function store(Request $request)
    {
        $name = $this->text->abbreviate($request->input('name'));
        
        // ...
    }
}