Maison >développement back-end >tutoriel php >Comment créer efficacement des slugs à partir de chaînes Unicode en PHP ?

Comment créer efficacement des slugs à partir de chaînes Unicode en PHP ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-09 10:02:07787parcourir

How to Efficiently Create Slugs from Unicode Strings in PHP?

Création de slugs pour les chaînes Unicode en PHP

Lorsque vous travaillez avec des chaînes Unicode, il devient nécessaire de créer des slugs, qui sont des chaînes conviviales pour les URL. représentant le contenu original. Ce processus implique la translittération, la suppression des caractères indésirables et la conversion de la chaîne en minuscules.

Implémentation d'une fonction slugify

Pour créer une fonction slugify en PHP, suivez cette approche :

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;
}

Exemple Utilisation

Pour utiliser cette fonction, appelez-la simplement comme suit :

$slug = slugify('Andrés Cortez');
echo $slug; // andres-cortez

Cela fournit une méthode plus efficace et plus concise pour créer des slugs à partir de chaînes Unicode, éliminant ainsi le besoin de longues remplacements.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn