Maison  >  Article  >  développement back-end  >  Comment générer des slugs adaptés aux URL avec des traits d'union uniquement en PHP ?

Comment générer des slugs adaptés aux URL avec des traits d'union uniquement en PHP ?

DDD
DDDoriginal
2024-10-26 17:59:30472parcourir

How to Generate URL-Friendly Slugs with Hyphens Only in PHP?

Génération de Slug adaptée aux URL avec traits d'union uniquement

La désinfection des chaînes est essentielle pour créer des chaînes adaptées aux URL, appelées slugs. Ces slugs facilitent la navigation et l’optimisation des moteurs de recherche. Pour convertir une chaîne en slug avec des délimiteurs à tiret unique, en supprimant tous les caractères non alphanumériques et les espaces, envisagez l'approche suivante :

1. Supprimer les caractères non essentiels :
À l'aide d'une expression régulière, nous pouvons identifier tous les caractères et espaces non alphanumériques. Ceux-ci sont retirés pour garantir une limace propre.

2. Remplacer les espaces par des tirets :
Les espaces dans la chaîne doivent être remplacés par des traits d'union (-) pour créer un délimiteur entre les mots. Cela garantit la lisibilité dans le slug.

Exemple :

Considérez la chaîne :

This, is the URL!

En appliquant l'algorithme ci-dessus, nous obtenons le slug :

this-is-the-url

Implémentation en PHP :

Voici une fonction PHP qui implémente l'algorithme de génération de slug :

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

Utilisation :

Pour utiliser cette fonction, fournissez simplement la chaîne d'entrée comme argument et attribuez la valeur renvoyée à une variable.

Exemple d'utilisation :

<code class="php">$input = 'This, is the URL!';
$slug = slug($input);

echo $slug; // Output: this-is-the-url</code>

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