Comment supprimer les caractères non alphanumériques et remplacer les espaces par des traits d'union dans les URL ?

Patricia Arquette
Libérer: 2024-10-24 02:53:29
original
866 Les gens l'ont consulté

How to Strip Non-Alphanumeric Characters and Replace Spaces with Hyphens in URLs?

Suppression des caractères non alphanumériques et remplacement des espaces par des traits d'union

Lors de la construction d'URL, il est nécessaire de convertir les titres contenant divers caractères en chaînes propres composé uniquement de lettres et de chiffres. Cela implique de supprimer les caractères spéciaux et de remplacer les espaces par des traits d'union.

Implémentation à l'aide d'expressions régulières

Les expressions régulières (regex) offrent une solution efficace pour cette tâche. Voici comment obtenir le résultat souhaité :

Étape 1 : Remplacer les espaces par des traits d'union

$string = str_replace(' ', '-', $string);
Copier après la connexion

Étape 2 : Supprimer les caractères non alphanumériques

$string = preg_replace('/[^A-Za-z0-9\-]/', '', $string);
Copier après la connexion

Cette expression régulière supprime tous les caractères qui ne sont pas des lettres, des chiffres ou des traits d'union.

Utilisation :

echo clean('a|"bc!@£de^&$f g');
Copier après la connexion

Sortie :

abcdef-g
Copier après la connexion

Empêcher plusieurs traits d'union consécutifs

Pour garantir que plusieurs traits d'union consécutifs sont remplacés par un seul trait d'union, utilisez l'étape supplémentaire suivante :

$string = preg_replace('/-+/', '-', $string);
Copier après la connexion

Cette étape remplace toutes les occurrences de deux ou plusieurs traits d'union consécutifs par un seul trait d'union.

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
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!