Función php urls amigables
1 feb 2010 5 comentarios
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.
// 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
5 Comentarios
Chema, el 02/02/2010 a las 23:39:00
Está bien la función uso algo parecido pero te dejas las dieresis la ç ñ , limpiar html…
Mira te esto: http://neo22s.com/slug/
bufa, el 03/02/2010 a las 01:44:06
Gracias Chema! Estupenda tu función de remplazar acentos replace_accents() para vocabulario con diéresis y ç.
CalinSoft, el 24/07/2010 a las 00:19:55
tambien es muy parecida a esta, http://www.calinsoft.com/2008/09/generar-slugs-para-urls-amigables-con-php.html pero esta ayuda con los acentos.
Rikochett, el 21/09/2011 a las 14:14:07
¿Y esta función opera sobre enlaces que resultan de consultas a una base de datos MySQL? Ejemplo: leer_mas.php?id=8&categoria=Astronomia …
Marcos Salas, el 22/12/2011 a las 04:55:23
Muy interesante, me fuciono!!