Maison  >  Article  >  développement back-end  >  Comment convertir des chaînes en slugs avec des délimiteurs à trait d'union unique en PHP ?

Comment convertir des chaînes en slugs avec des délimiteurs à trait d'union unique en PHP ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-29 12:52:29450parcourir

How to Convert Strings to Slugs with Single-Hyphen Delimiters in PHP?

Conversion de chaînes en slugs avec des délimiteurs à trait d'union unique : une solution PHP

Lorsqu'il s'agit de créer des URL, il est souvent nécessaire de convertir des chaînes en slugs : des représentations claires et concises qui excluent les caractères spéciaux et les espaces. Cela peut être un défi, surtout si vous souhaitez maintenir la lisibilité et la cohérence. Cet article présente une solution en PHP qui vous aidera à convertir des chaînes en slugs avec des délimiteurs à un seul trait d'union uniquement.

L'approche est simple :

  1. Supprimer les caractères non alphanumériques et Espaces : Cela implique l'utilisation d'expressions régulières pour éliminer tous les caractères qui n'appartiennent pas à un slug, tels que la ponctuation, les symboles et les espaces.
  2. Convertir les espaces en tirets : Une fois les caractères non alphanumériques supprimés, les espaces restants sont remplacés par des tirets pour créer un slug propre et lisible.

Plongeons maintenant dans le code :

<code class="php">function slug($z){
    $z = strtolower($z);
    $z = preg_replace('/[^a-z0-9 -]+/', '', $z);
    $z = str_replace(' ', '-', $z);
    return trim($z, '-');
}</code>

Voyons décomposez chaque étape :

  • Conversion minuscule ($z = strtolower($z)) : Cela garantit que le slug n'est pas sensible à la casse, ce qui le rend cohérent entre les différentes URL.
  • Suppression d'expression régulière(/1 /, ''): Cette expression régulière supprime tous les caractères qui ne sont pas des alphabets minuscules, des chiffres, des espaces , ou des tirets. Il capture les caractères non alphanumériques et les remplace par une chaîne vide.
  • Conversion espace en trait d'union (str_replace(' ', '-', $z)) : Après la suppression caractères non alphanumériques, les espaces restants sont remplacés par des tirets. Cela crée un slug facile à lire et représente la chaîne d'origine avec précision.
  • Coupage des tirets superflus (trim($z, '-')) : Cette étape garantit qu'il n'y a pas les traits d'union de début ou de fin dans le slug.

Par exemple, si vous souhaitez convertir « Voici l'URL ! » dans un slug, le code affichera "this-is-the-url". Ce slug est propre, concis et respecte l'exigence de délimiteur à trait d'union unique.

Grâce à cette fonction, vous pouvez nettoyer efficacement les chaînes et les convertir en slugs adaptés aux URL. Cette technique permet d'améliorer la cohérence et la lisibilité de vos adresses Web, les rendant plus conviviales et optimisées pour le référencement.


  1. a-z0-9 -

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