Maison  >  Article  >  développement back-end  >  Comment créer des slugs délimités par un seul trait d'union à partir de chaînes pour l'optimisation d'URL ?

Comment créer des slugs délimités par un seul trait d'union à partir de chaînes pour l'optimisation d'URL ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-26 20:13:29815parcourir

How to Create Single-Hyphen Delimited Slugs from Strings for URL Optimization?

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

Dans le domaine du développement Web, il est souvent nécessaire de convertir des chaînes en slugs pour les URL optimisation. Les slugs sont des chaînes contenant uniquement des caractères alphanumériques, des espaces et des tirets, utilisées pour créer des URL lisibles et conviviales pour les moteurs de recherche.

Problème :

Supposons que nous ayons une chaîne qui nous devons nettoyer une URL. Nos exigences sont :

  1. Supprimez tous les caractères non alphanumériques à l'exception des espaces et des tirets.
  2. Remplacez les espaces par des tirets.

Par exemple, la chaîne " Voici l'URL !" devrait devenir "this-is-the-url".

Solution :

Pour résoudre ce problème, nous pouvons utiliser une fonction personnalisée comme celle ci-dessous :

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

Voici comment fonctionne cette fonction :

  1. Minuscule : Elle convertit la chaîne en minuscule pour plus de cohérence dans la création d'URL.
  2. Correspondance de modèles Regex : À l'aide de la fonction preg_replace, il supprime tous les caractères non alphanumériques à l'exception des espaces et des traits d'union. Pour ce faire, il fait correspondre n'importe quel caractère qui n'est pas une lettre minuscule ou majuscule, un chiffre, un trait d'union ou un espace et le remplace par une chaîne vide.
  3. Remplacement des espaces : Il remplace tous les espaces restants. dans la chaîne avec des traits d'union pour créer un slug avec trait d'union.
  4. Coupage des traits d'union : Enfin, il supprime tous les traits d'union de début ou de fin du slug pour garantir un format d'URL propre et valide.

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