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 :

Opérations sur les dates: trouver la date précédente ou suivante d'une date donnée
Parcourir les fichiers d'un répertoire en PHP
Les cookies faciles
Require - format d'écriture
Une fonction file_put_contents pour PHP4
Fonction extract() en PHP
Formulaire de paiement paypal en PHP
Vérifier la validité d'une URL en PHP - Expression régulière
Fonction include() en PHP et URL externe
Problème : header("Location ... ne marche pas
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