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

Trabajar con fechas en PHP (1) No nos engañemos, trabajar con fechas es una de las cosas que mas dolores de cabeza puede darnos. Alguno de los problemas que nos podemos encontrar...
Ejemplos PHP: convertir string en array Veamos una función PHP muy utilizada y que nos da juego a la hora de trabajar formularios. La función es explode(). explode() Esta función relle...
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 – Obtener la url actual De esos post cortitos pero que te sacan de un aprieto. Vamos a ver cómo podemos saber la url actual de forma sencilla: Aquí tenéis en varios form...

Deja un comentario

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

*