Maison > développement back-end > tutoriel php > Comment puis-je créer des Slugs adaptés aux URL à partir de chaînes en utilisant PHP ?

Comment puis-je créer des Slugs adaptés aux URL à partir de chaînes en utilisant PHP ?

DDD
Libérer: 2024-12-07 05:53:16
original
630 Les gens l'ont consulté

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

Création de slugs adaptés aux URL à l'aide de PHP

Lors de la création d'applications Web, il est souvent nécessaire de convertir les chaînes en formats adaptés aux URL, appelés slugs. Par exemple, une chaîne comme « Andrés Cortez » doit être convertie en « andres-cortez » pour être utilisée dans une URL.

Pour y parvenir, une fonction PHP personnalisée peut être utilisée :

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

Cette fonction utilise une série d'expressions régulières et de conversions de caractères pour transformer la chaîne d'entrée en slug. Il remplace d'abord tous les caractères non alphanumériques par le séparateur spécifié. Ensuite, il translittère les caractères non-ASCII en leurs équivalents ASCII les plus proches. Les caractères indésirables sont supprimés et la chaîne est coupée et convertie en minuscules. Les séparateurs en double sont supprimés pour garantir un slug propre.

En appelant cette fonction slugify(), les développeurs peuvent facilement créer des slugs à partir de chaînes Unicode, fournissant ainsi une solution simple pour un texte convivial pour les URL dans les applications PHP.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal