Start · Sprachen · PHP · Snippets · URL-Slug aus Titel generieren

URL-Slug aus Titel generieren

Strings & Regex

Für SEO-freundliche URLs. Umlaute transliterieren, Sonderzeichen entfernen, Wörter mit Bindestrich verbinden.

Code

<?php

declare(strict_types=1);

function slugify(string $text): string
{
    // Umlaute vor iconv → sonst gehen sie verloren
    $map = ['ä'=>'ae','ö'=>'oe','ü'=>'ue','Ä'=>'ae','Ö'=>'oe','Ü'=>'ue','ß'=>'ss'];
    $text = strtr($text, $map);

    // Weitere Diakritika transliterieren
    $text = iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $text);

    // Kleinbuchstaben, Sonderzeichen zu Bindestrich
    $text = strtolower($text);
    $text = preg_replace('/[^a-z0-9]+/', '-', $text);

    return trim($text, '-');
}

echo slugify('Warum PHP 8.4 großartig ist!');
// warum-php-8-4-grossartig-ist
warum-php-8-4-grossartig-ist

Häufige Fragen

Darf ich dieses Snippet kopieren und produktiv einsetzen?

Ja — alle Code-Beispiele auf programmierung.net dürfen frei kopiert und angepasst werden. Prüfe vor dem Produktiv-Einsatz immer Edge-Cases (leere Eingaben, Encoding, Fehlerbehandlung) und die Lizenzvorgaben eingebundener Bibliotheken.

Welche PHP-Version wird vorausgesetzt?

Snippets zielen auf aktuelle, stabile PHP-Versionen. Versionsabhängige Features werden im Code oder in der Beschreibung ausgewiesen.

Wo finde ich weitere PHP-Snippets?

In der Seitenleiste siehst du alle Snippets dieser Sprache. Oder gehe zur PHP-Übersicht.