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 :

Foncer ou eclaircir une couleur en PHP
Parcourir un tableau en php - pense bête
L'utilisation des sessions en PHP
Require - format d'écriture
Problème : header("Location ... ne marche pas
Enlever les balises HTML d'une chaîne en PHP
Suppession des accents dans une phrase en PHP
Tester format de chaîne style mot de passe
Protection contre les injections HTML XCSS
Transmettre un nombre variable de paramètres dans une fonction PHP
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