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...
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...
PHP – La primera letra en mayúsculas o cambi... En Muchas ocasiones, los datos que almacenamos en las base de datos no están en el formato que debemos mostrarlos. Uno de los casos más habituales es ...
PHP – Obtener url actual sin parámetros Ya vimos en un post anterior cómo obtener la url actual en php de una forma sencilla. El problema es cuando la url tiene parámetros y no los queremos....

Deja un comentario

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

*