Skip to main content

Was ist die Str-Klasse

Die Klasse Illuminate\Support\Str bietet eine umfangreiche Sammlung von Methoden zur String-Verarbeitung. Statt die einzelnen PHP-Standardfunktionen zu verwenden, arbeiten Sie mit einer einheitlichen, intuitiven Schnittstelle. Laravel unterstützt zwei Stile der String-Verarbeitung:
  • Statischer Stil: Str::slug($title, '-') — geeignet für einzelne Operationen.
  • Fluent-Stil (Method Chaining): Str::of($title)->slug('-')->limit(50) — mehrere Operationen lassen sich verketten.
Die globale Hilfsfunktion str() entspricht Str::of(). Sie können also str('hello')->upper() schreiben.

Groß-/Kleinschreibung und Notation umwandeln

Methoden zum Umwandeln der Schreibweise von Strings (Groß-/Kleinschreibung, Notation). Häufig verwendet, um Datenbankspalten oder Schlüssel in API-Antworten umzubenennen.

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

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

Slugs und URLs

Str::slug() — URL-freundlichen Slug erzeugen

Unverzichtbar, wenn Sie URLs für Artikel oder Seiten erzeugen möchten. Leerzeichen und Sonderzeichen werden umgewandelt, sodass ein URL-sicherer String entsteht.
Bei Texten mit Zeichen wie Japanisch kann der Slug leer werden. Wenn Sie Slugs mit japanischen Zeichen verwenden möchten, ziehen Sie eine zusätzliche Bibliothek zur Romaji-Konvertierung oder die Verwendung von IDs bzw. Zeitstempeln in URLs in Betracht.

Mit Str::of() Slug-Erzeugung und Bereinigung in einem Rutsch

Strings kürzen

Str::limit() — nach Zeichenanzahl kürzen

Ideal, um Vorschautexte für Artikelinhalte oder Kommentare in Listen zu erzeugen.

Str::words() — nach Wortanzahl kürzen

Strings suchen und prüfen

Str::contains() — prüfen, ob ein String enthalten ist

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

Str::is() — Pattern-Matching mit Wildcards

Strings umwandeln und ersetzen

Str::replace() — Strings ersetzen

Str::replaceArray() — der Reihe nach aus einem Array ersetzen

Str::replaceMatches() — per Regex ersetzen

Str::remove() — Strings entfernen

Str::squish() — überflüssige Leerzeichen entfernen

Anfang und Ende bearbeiten

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

Str::between() — Text zwischen zwei Strings extrahieren

Str::start() / Str::finish() — mit bestimmtem Zeichen beginnen/enden lassen

Beginnt der String bereits mit dem Zeichen, wird nichts hinzugefügt (keine doppelten Zeichen).

Str::chopStart() / Str::chopEnd() — bestimmten Präfix/Suffix entfernen

Maskierung und Sicherheit

Str::mask() — Strings maskieren

Nützlich, um Teile von E-Mail-Adressen oder Telefonnummern zu verbergen.

Str::excerpt() — Textausschnitt mit Kontext

Praktisch für Snippet-Darstellungen in Suchergebnissen.

Zufällige Strings und Identifier

Str::random() — zufälligen String erzeugen

Wird häufig zum Erzeugen von Tokens oder Schlüsseln für Passwort-Resets verwendet.

Str::uuid() / Str::ulid() — UUIDs und ULIDs erzeugen

Str::password() — sicheres Passwort erzeugen

Str::counted() — Singular/Plural mit Anzahl

Wandelt einen Begriff je nach Zahl in Singular oder Plural um und gibt ihn zusammen mit der formatierten Zahl zurück.
Im Fluent-Stil funktioniert dies genauso:
Praktisch für die Darstellung von Mengenangaben in englischsprachigen UIs (z. B. die Unterscheidung zwischen „1 item” und „2 items”). Die Formatierung mit Tausendertrennzeichen erfolgt automatisch.

Fluent Strings (Method Chaining)

Beginnen Sie mit Str::of() oder str(), erhalten Sie eine Stringable-Instanz und können Methoden verketten. Um das Ergebnis final als String zu verwenden, casten Sie mit (string) oder nutzen es in einem String-Kontext.

Praktische Beispiele für Method Chaining

Slug für einen Blogbeitrag erzeugen
Domain aus einer URL extrahieren
Benutzereingaben bereinigen
Aus einem Klassennamen einen Dateipfad erzeugen

Bedingte Verkettung (when())

pipe() — beliebige Callbacks einschieben

Übersicht wichtiger Methoden von Str::of()

Fluent Strings bieten weitgehend dieselben Methoden wie die statische API. Eine Auswahl:

Zusammenfassung

Statische Methode verwenden:
  • Wenn nur ein oder zwei Umwandlungen nötig sind
  • Für einfachen, gut lesbaren Code
Fluent (Str::of) verwenden:
  • Wenn drei oder mehr Umwandlungen zusammengefasst werden
  • Bei bedingten Verzweigungen (when())
  • Wenn der Ablauf von oben nach unten lesbar sein soll
Wenn Sie statt PHP-Standardfunktionen wie strtolower(), substr() oder str_replace() die Str-Klasse verwenden:
  • Sie können Multibyte-Zeichen (z. B. Japanisch) sicher verarbeiten (intern kommen mb_*-Funktionen zum Einsatz)
  • Sie können Operationen per Method Chaining kompakt schreiben
  • Sie müssen sich keine Argument-Reihenfolgen merken (konsistente Schnittstelle)
  • Ihr Code entspricht dem Code-Stil von Laravel
Zuletzt geändert am 13. Juli 2026