Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich mit PHP URL-freundliche Slugs aus Strings erstellen?

Wie kann ich mit PHP URL-freundliche Slugs aus Strings erstellen?

DDD
DDDOriginal
2024-12-07 05:53:16645Durchsuche

How Can I Create URL-Friendly Slugs from Strings using PHP?

URL-freundliche Slugs mit PHP erstellen

Beim Erstellen von Webanwendungen ist es häufig erforderlich, Zeichenfolgen in URL-freundliche Formate, sogenannte Slugs, zu konvertieren. Beispielsweise sollte eine Zeichenfolge wie „Andrés Cortez“ zur Verwendung in einer URL in „andres-cortez“ konvertiert werden.

Um dies zu erreichen, kann eine benutzerdefinierte PHP-Funktion verwendet werden:

public static function slugify($text, string $divider = '-')
{
  // replace non letter or digits by divider
  $text = preg_replace('~[^\pL\d]+~u', $divider, $text);

  // transliterate
  $text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);

  // remove unwanted characters
  $text = preg_replace('~[^-\w]+~', '', $text);

  // trim
  $text = trim($text, $divider);

  // remove duplicate divider
  $text = preg_replace('~-+~', $divider, $text);

  // lowercase
  $text = strtolower($text);

  if (empty($text)) {
    return 'n-a';
  }

  return $text;
}

Diese Funktion nutzt eine Reihe regulärer Ausdrücke und Zeichenkonvertierungen, um die Eingabezeichenfolge in einen Slug umzuwandeln. Es ersetzt zunächst alle nicht alphanumerischen Zeichen durch den angegebenen Trenner. Anschließend werden Nicht-ASCII-Zeichen in ihre nächsten ASCII-Äquivalente transkribiert. Unerwünschte Zeichen werden entfernt und die Zeichenfolge wird gekürzt und in Kleinbuchstaben umgewandelt. Doppelte Trennzeichen werden entfernt, um einen sauberen Slug zu gewährleisten.

Durch den Aufruf dieser slugify()-Funktion können Entwickler ganz einfach Slugs aus Unicode-Strings erstellen und so eine unkomplizierte Lösung für URL-freundlichen Text in PHP-Anwendungen bieten.

Das obige ist der detaillierte Inhalt vonWie kann ich mit PHP URL-freundliche Slugs aus Strings erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn