Tener en nuestra página web nuestros links internos con urls amigables esta demostrado que favorecen a un mejor posicionamiento web y facilitan al visitante información del contenido del enlace antes de hacer click sobre el.
Vamos a crear una función en php para generar cadenas amigables para nuestras urls.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | function url_amigable($cadena) { // Sepadador de palabras que queremos utilizar $separador = "-"; // Eliminamos el separador si ya existe en la cadan actual $cadena = str_replace($separador, "",$cadena); // Convertimos la cadena a minusculas $cadena = strtolower($cadena); // Remplazo tildes y eñes $cadena = strtr($cadena, "áéíóúÁñÑ", "aeiouAnN"); // Remplazo cuarquier caracter que no este entre A-Za-z0-9 por un espacio vacio $cadena = trim(ereg_replace("[^ A-Za-z0-9]", "", $cadena)); // Inserto el separador antes definido $cadena = ereg_replace("[ \t\n\r]+", $separador, $cadena); return $cadena; } // Modo de empleo: echo url_amigable("¡¡¡Sin LEÓN no hubiera España, que antes que Castilla leyes, Concilios, fueros y reyes, dieron prestigio a León!!!"); // Resultado: sin-leon-no-hubiera-espana-que-antes-que-castilla-leyes-concilios-fueros-y-reyes-dieron-prestigio-a-leon |

Está bien la función uso algo parecido pero te dejas las dieresis la ç ñ , limpiar html…
Mira te esto: http://neo22s.com/slug/