Skip to main content

Cos’è la classe Str

La classe Illuminate\Support\Str offre numerosi metodi per la manipolazione delle stringhe. Invece di chiamare separatamente le funzioni standard di PHP, hai un’interfaccia unificata e intuitiva. Ci sono due stili:
  • Metodi statici: Str::slug($title, '-') — per operazioni singole
  • Stile fluent (concatenazione): Str::of($title)->slug('-')->limit(50) — per concatenare più operazioni
L’helper globale str() equivale a Str::of(). Puoi scrivere str('hello')->upper().

Conversione tra case

Metodi per convertire tra maiuscolo, minuscolo e varie notazioni. Utili per nomi di colonne e chiavi API.

Str::camel() / Str::snake() / Str::kebab() / Str::studly()

Str::lower() / Str::upper() / Str::title()

Slug e URL

Str::slug() — slug URL-friendly

Con testo che contiene caratteri non ASCII lo slug può diventare vuoto. Se ti serve traslitterare, valuta librerie apposite oppure usa ID o timestamp nell’URL.

Slug e validazione con Str::of()

Troncamento

Str::limit() — troncamento per caratteri

Str::words() — troncamento per parole

Ricerca e verifica

Str::contains()

Str::startsWith() / Str::endsWith()

Str::is() — pattern con wildcard

Sostituzione

Str::replace()

Str::replaceArray()

Str::replaceMatches() — regex

Str::remove()

Str::squish() — normalizza spazi

Prima/dopo

Str::before() / Str::after()

Str::between()

Str::start() / Str::finish()

Aggiungono il carattere se non presente (non lo duplicano).

Str::chopStart() / Str::chopEnd()

Mascheramento

Str::mask()

Str::excerpt()

ID e stringhe casuali

Str::random()

Str::uuid() / Str::ulid()

Str::password()

Str::counted() — plurale con numero formattato

Fluent Strings

Con Str::of() o str() ottieni un’istanza Stringable e concateni i metodi.

Esempi pratici di concatenazione

Slug di un articolo di blog
Estrarre il dominio da un URL
Sanitizzare input utente
Da classe a file path

Chain condizionale con when()

pipe() — callback arbitrarie

Metodi principali di Str::of()

Statici: per 1-2 trasformazioni; leggibilità semplice.
Fluent (Str::of): per 3+ trasformazioni o con condizioni (when()); flusso letto dall’alto verso il basso.
Rispetto a strtolower(), substr(), str_replace() ecc., con Str:
  • I caratteri multibyte sono gestiti in sicurezza (internamente mb_*)
  • Puoi concatenare le operazioni
  • Non devi ricordare l’ordine degli argomenti
  • Ottieni uno stile coerente con Laravel
Ultima modifica il 13 luglio 2026