"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je créer des noms d'utilisateur adaptés à l'URL à l'aide de PHP?

Comment puis-je créer des noms d'utilisateur adaptés à l'URL à l'aide de PHP?

Publié le 2025-03-23
Parcourir:851

How Can I Create URL-Friendly Usernames Using PHP?

Création de noms d'utilisateur adaptés à l'URL avec php: un guide complet

Dans le contexte du développement Web, il est crucial de créer des URL conviviales pour l'utilisateur qui sont à la fois lisibles et optimisées en moteur. Le même principe s'applique aux noms d'utilisateur, qui forment souvent une partie intégrante des profils d'utilisateurs et d'autres contenus dynamiques.

Lorsqu'ils traitent des noms d'utilisateur sur des sites Web basés sur PHP, on peut rencontrer le défi de s'assurer que ces noms d'utilisateur conviennent à une utilisation dans les URL. Ils devraient idéalement être concis, uniques et exempts d'espaces ou de caractères spéciaux.

pour résoudre ce problème, on peut tirer parti de diverses techniques en PHP pour transformer un nom d'utilisateur en un format adapté à l'URL. Une approche populaire consiste à remplacer les espaces par des soulignements. De plus, les caractères spéciaux peuvent être supprimés ou convertis en leurs équivalents ASCII.

Fonction PHP pour les noms d'utilisateur Slusifiant

La fonction PHP suivante, connue sous le nom de «Slugify» { // Convertir en entités HTML $ string = htmlentities ($ string, ent_quotes, 'utf-8'); // supprimer les caractères accentués $ string = preg_replace ('~ & ([a-z] {1,2}) (?: Acute | cedil | circ | Grave | lig | orn | ring | slash | th | Tilde | uml); ~ i', '$ 1', $ string); // Reconvertir des entités HTML $ string = html_entity_decode ($ string, ent_quotes, 'utf-8'); // remplacer les caractères non alphanumériques par des tirets $ string = preg_replace ('~ [^ 0-9a-z] ~ i', '-', $ string); // TRIP DES TANCES, CONVERT en minuscules $ String = Trim ($ string, '-'); $ string = strtolower ($ string); return $ string; }

function slug($string)
{
    // Convert to HTML entities
    $string = htmlentities($string, ENT_QUOTES, 'UTF-8');

    // Remove accented characters
    $string = preg_replace('~&([a-z]{1,2})(?:acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml);~i', '$1', $string);

    // Reconvert from HTML entities
    $string = html_entity_decode($string, ENT_QUOTES, 'UTF-8');

    // Replace non-alphanumeric characters with dashes
    $string = preg_replace('~[^0-9a-z] ~i', '-', $string);

    // Trim dashes, convert to lowercase
    $string = trim($string, '-');
    $string = strtolower($string);

    return $string;
}
Exemple usage

Pour illustrer la fonctionnalité de cette fonction, considérez les exemples suivants:

$ user = 'Alix axel'; Echo Slug ($ utilisateur); // Alix-Axel $ user = 'Álix ãxel'; Echo Slug ($ utilisateur); // Alix-Axel $ user = 'Álix ---- _ ãxel!?!?'; Echo Slug ($ utilisateur); // Alix-axel

$user = 'Alix Axel';
echo slug($user); // alix-axel

$user = 'Álix Ãxel';
echo slug($user); // alix-axel

$user = 'Álix----_Ãxel!?!?';
echo slug($user); // alix-axel
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3