Como Crear una URL Amigable (Slug) con PHP
En esta página:
Con PHP podemos realizar diferentes tareas con los textos o strings, todo en el lado del servidor, podemos guardar páginas web con un slug o URL amigable para brindar una mejor experiencia a los usuarios y también para posicionarlas en los motores de búsqueda como Google, Bing, etc. A nuestra url le podemos limpiar los caracteres extraños y solo permitirle letras y números. En este Post te enseñare a Como Crear una URL Amigable con PHP, vamos con ello.
Antes de continuar te invito a leer los siguientes artículos:
- Que es PHP y otros detalles
- Como Usar Try y Catch en PHP
- Porque el Operador === es más Rápido que el Operador == en PHP
- Convertir nuestros registros MySQL a JSON con PHP
- Protección de Contraseñas con Argon2 en PHP 7
- Crear un sitemap dinámico con PHP y MySQL (Corregido 29-07-2019)
- Buenas Prácticas para PHP en 2020
- Como Usar el Patrón de Diseño “Factory Method” o Método Factory en PHP 8
- Lee más artículos en la categoría PHP
Asimismo, te invito a escuchar el Podcast: “Porque El Lenguaje De Programación Python Es Tan Popular” y “Ventajas y Desventajas de Usar 2 o Más Monitores Para un Desarrollador” (Anchor Podcast):
Spotify: | Sound Cloud: | Apple Podcasts | Anchor Podcasts |
Bien ahora continuemos con el Post: Como Crear una URL Amigable con PHP.
Recuerda que para que las URLs amigables funcionen en PHP, necesitas hacer ciertas configuraciones adicionales en tu servidor, no quiero extenderme en ello, en este Post veremos como hacerlo con PHP, exactamente crear la url en base a un texto o string.
Como Crear una URL Amigable (Slug) usando un determinado Texto con PHP
Existen muchas maneras de crear la url amigable con PHP, en este Post te enseñare una manera de hacerlo.Como Crear una URL Amigable (Slug) con PHP
Creo una función con el nombre urlAmigable(), tu le puedes poner el nombre que desees, le paso el parámetro $nombre y dentro de la función hago uso de varios métodos de PHP que explicare más adelante. Luego fuera de la función creo una variable llamada $nombre y dentro de ella coloco el texto al cual le quiero generar su url amigable, he colocado caracteres extraños para complicarlo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?php function urlAmigable($nombre){ return strtolower(trim(preg_replace('~[^0-9a-z]+~i', '-', html_entity_decode(preg_replace('~&([a-z]{1,2})(?:acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml);~i', '$1', htmlentities($nombre, ENT_QUOTES, 'UTF-8')), ENT_QUOTES, 'UTF-8')), '-')); } $nombre = 'Zapatos de Cuero Negro con precio de °!"#$%&/()=?¡¨*[;:_|,.-{´+¿ $50'; echo urlAmigable($nombre); // Obtenemos: zapatos-de-cuero-negro-con-precio-de-50 ?> |
En el código anterior dentro de la fución urlAmigable() estoy usando varios métodos de PHP como strtolower, trim, preg_replace y html_entity_decode.
strtolower (PHP)
Con este método convertimos todo el texto a minúsculas.
trim (PHP)
Con este método eliminamos los espacios en blanco entre las palabras.
preg_replace (PHP)
Con este método buscamos todos los carácteres extraños posibles para eliminarlos, la idea es que la url amigable solo tenga letras y números.
html_entity_decode (PHP)
Con este método consultamos si el usuario ha ingresado entidades HTML en el texto, como el simbolo de euro, dolar, copyright, etc. y concatenado con el método trim los elimina.
Bien, asi puedes crear urls amigable, luego las puedes guardar en tus bases de datos, para posteriormente mostrarlas en el navegador. Recuerda que al final del código he colocado la salida que se obtiene como url amigable.
Conclusión
En este post has aprendido a como crear una URL amigable con el lenguaje de programación PHP, esta es una base para crear tus proyecto con URLs amigables que te ayudarán a mejorar el SEO y la experiencia de los usuarios. Pero no todo es URLs amigables, ya que hay que hacer otras tareas para lograr un buen posicionamiento en los buscadores.
Nota(s)
- No olvides que debemos usar la Tecnología para hacer cosas Buenas por el Mundo.
Síguenos en las Redes Sociales para que no te pierdas nuestros próximos contenidos.
- PHP
- 10-03-2023
- 13-03-2023
- Crear un Post - Eventos Devs - Foro
Social
Redes Sociales (Developers)
Redes Sociales (Digital)