Generare URL amichevoli SEO (lumache)

Definizione

Da Wikipedia :

Una lumaca è la parte di un URL che identifica una pagina usando parole chiave leggibili dall’uomo.

Per rendere l’URL più facile da digitare per gli utenti, i caratteri speciali vengono spesso rimossi o sostituiti. Per esempio, i caratteri accentati sono di solito sostituiti da lettere dell’alfabeto inglese; i segni di punteggiatura sono generalmente rimossi; e gli spazi (che devono essere codificati come% 20 o +) sono sostituiti da trattini (-) o caratteri di sottolineatura (_), che sono più esteticamente gradevoli.

Contesto

Ho sviluppato un sito di condivisione di foto su cui gli utenti possono caricare, condividere e visualizzare le foto.

Tutte le pagine sono generate automaticamente senza la mia presa sul titolo. Poiché il titolo di una foto o il nome di un utente può contenere caratteri accentati o spazi, avevo bisogno di una funzione per creare automaticamente lumache e mantenere gli URL leggibili.

Ho creato la seguente funzione che sostituisce i caratteri accentati (âêêêçî), rimuove la punteggiatura e i caratteri non validi (# @ & ~ ^!) E trasforma gli spazi in trattini.

Domande

  • Cosa ne pensi di questa funzione?
  • Conosci altre funzioni per creare lumache?

Codice

php :

function sluggable($str) {     $before = array( 'àáâãäåòóôõöøèéêëðçìíîïùúûüñšž', '/[^a-z0-9\s]/',         array('/\s/', '/--+/', '/---+/')     );      $after = array( 'aaaaaaooooooeeeeeciiiiuuuunsz', '', '-' );     $str = strtolower($str);     $str = strtr($str, $before[0], $after[0]);     $str = preg_replace($before[1], $after[1], $str);     $str = trim($str);     $str = preg_replace($before[2], $after[2], $str);      return $str; }