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
Libérer: 2024-12-09 10:02:07
original
791 Les gens l'ont consulté

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;
}
Copier après la connexion

Exemple Utilisation

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

$slug = slugify('Andrés Cortez');
echo $slug; // andres-cortez
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal