Maison >développement back-end >tutoriel php >Comment supprimer les caractères non alphanumériques et remplacer les espaces par des traits d'union dans les URL ?
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);
Étape 2 : Supprimer les caractères non alphanumériques
$string = preg_replace('/[^A-Za-z0-9\-]/', '', $string);
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');
Sortie :
abcdef-g
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);
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!