le MEMO du WEB développeur
••• PHP •••  Liste des Mémos, astuces et bonnes pratiques

Formater une chaine en URL

Fonction qui permet de faire de générer des chaînes conformes aux URLs en formatant par exemple le titre d'une page sous format URL, soit sous forme de caractères alphanumériques et tirets uniquement.

On utilise d'abord la fonction de suppression des accents dans une chaine

<?php
function SupprimeLesAccents($mot){
    return strtr( $mot, "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ", 
                        "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn" );
}

Puis on remplace les caractères autres que alpha numériques par des tirets, à la fin on supprime les tirets supplémentaires.

La chaine de retour de la fonction est au format URL

Fonction de formatage d'URLs

<?php
function ReecrireUrl($titre)
{
   //Désaccentue la chaîne passée en paramètre
   $titre= SupprimeLesAccents (strtolower($titre));
   //Remplace tous les caractères autres que alphanumérique par des tirets
   $titre= preg_replace('#[^a-z0-9_-]#','-',$titre); 
   while (strpos($titre,'--') !== false){
     $titre= str_replace('--','-',$titre); //Nettoyage des tirets superflus
   }
   return $titre;
}
?>

 

publié le 18/12/2011 par Memo Web
ChaînesURL
Commenter le Mémo :

Ucfirst ou Convertir la première lettre d'une chaine en majuscule
Afficher l'année courante sur son site
Vérifier la validité du format d'un email en PHP - Expression régulière
Les cookies faciles
Opérations sur les dates en PHP
Vérifier qu'une chaine est constituée de caractères alphanumériques
Mettre en gras les occurrences d'un mot dans une phrase en PHP
Transmettre un nombre variable de paramètres dans une fonction PHP
Fonction PHP pour réduire une chaîne à ses n premiers mots
Fonction include() en PHP et URL externe
Ajoutez vos propres Mémos sur MEMO-WEB

Il suffit de vous créer un compte sur le site

Vous pourrez choisir un thème parmis l'une des catégories proposées par MEMO-WEB.

Rédigez votre Mémo.
Après validation par MEMO-WEB, il sera mis en ligne.
Ajouter vos Mémos