PHP – Cómo crear url amigables

En muchas ocasiones nos interesa que a partir de un texto que tenemos almacenado en la base de datos, el nombre del producto por ejemplo, crear un enlace amigable (url amigable). Veréis muchas funciones por Internet que se encarga de ello, y por eso me gustaría aportar mi granito de arena con una función que encontré por internet hace mucho tiempo (no recuerdo fuente de información) y que modifiqué para adaptarla a mis necesiades:

1
2
3
4
5
6
7
8
9
function limpiarEnlaces($cadena) {
            $eliminar=array("!","'","¡","?","¿","‘","\"","$","(",")",".",":",";","_","/","\\","\$","%","@","#",",", "«", "»");
            $buscados=array(" ","á","é","í","ó","ú","Á","É","Í","Ó","Ú","ñ","Ñ","ü","à","è","ì","ò","ù","À","È","Ì","Ò","Ù");
            $sustitut=array("-","a","e","i","o","u","a","e","i","o","u","n","n","u","a","e","i","o","u","A","E","I","O","U");
            $final=strtolower(str_replace($buscados,$sustitut,str_replace($eliminar,"",$cadena)));
            $final=str_replace("–","-",$final);
            $final=str_replace("–","-",$final);
            return $final;
}

Espero que os sea de utilidad.

Artículos relacionados

MySQL – Número de registros afectados en una... En ocasiones necesitamos saber cúantos registros de nuestra base de datos han sido afectados en una consulta. Un ejemplo claro sería hacer un Upd...
Optimización página web – Paso 2 – Accesibilidad... Como mas accesible sea la web, el Sr. Google mas nos valora. Para seguir las normas de accesibilidad, hay que cumplir algunas normas que en el siguien...
PHP – Leer todas las variables pasadas por P... En algunas ocasiones, normalmente cuando el código no es nuestro o venimos de un formulario que no se visiona correctamente el nombre de los campos (c...
Actualización recursos programación Agosto 2012 Actualizamos nuestro apartado de recursos para la programación con nuevos enlaces a scripts PHP: Hot Scripts PHP - El mas completo directorio de...

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*