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 :

Transformer une date format français en format SQL
Opérations sur les dates en PHP
L'utilisation des sessions en PHP
Parcourir les images d'un répertoire en PHP
Vérifier la validité du format d'un email en PHP - Expression régulière
Parcourir les fichiers d'un répertoire en PHP
Comment récupérer ou supprimer l'extension d'un fichier en PHP ?
Afficher l'année courante sur son site
Affectation conditionnelle sous PHP
Ucfirst ou Convertir la première lettre d'une chaine en majuscule
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