Navigation

Contactez-nous

Kitpages
17 rue de la Frise
38000 Grenoble
tel : 04 58 00 33 81

Par Philippe Le Van (@plv) Dernière mise à jour : 01 February 2012

Insérer un titre dans une URL

Introduction

Cette page donne une fonction (basique) permettant de modifier une chaîne de caractère pour qu'elle soit insérable sans problème dans une URL (élimination des caractères bizarres) et qu'elle ait un contenu pertinent pour le référencement.

Détail et code

Quelques points d'explication :

  • strtr n'a pas d'équivalent en UTF-8 (hum...) d'où les utf8_decode et utf8_encode qui trainent
  • On transforme un NULL en chaine vide
  • On transforme des caractères courants en leur équivalent en ASCII simple
  • On met tout en minuscule
  • Ensuite, tous les caractères qui ne sont pas une lettre minuscule, un chiffre, un "-" ou un "_", on les remplace par des "-"
<?php
function urlPathEncode($value) {
    // cas de la valeur null
    if (is_null($value)) {
        return "";
    }
    // plus d'accents
    $a = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿŔŕç';
    $b = 'aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyybyRrc';
    $value = utf8_decode($value);
    $value = strtr($value, utf8_decode($a), $b);
    $value = strtolower($value);
    // ponctuation
    $value = strtr($value, utf8_decode("'\""), "__");
    // autres caracteres
    $value = preg_replace("/[^a-z0-9\-\_]/","-",$value);
    return $value;
}

Commentaires

Ajouter un commentaire