Validar un slug es bastante sencillo por medio de una expresión regular. Por ejemplo mira esta posibilidad:
^[a-z0-9-]+$
Esa expresión regular sirve para validar si una cadena es un slug válido, que indicaría estas cosas:
-
^
sirve para indicar el comienzo de la cadena. -
[a-z0-9-]+
busca una o más ocurrencias en la cadena de caracteres que estén en el rango dea
az
, números del0
al9
y guiones. -
$
indica que se ha llegado al final de la cadena.
Ahora ya, si quieres usar esta expresión regular en PHP tienes la función preg_match
que permite indicar la expresión regular para validar y la cadena del slug que quieres ver si está bien formada.
Un ejemplo sería este:
$slug = "ejemplo-144";
if (preg_match('/^[a-z0-9-]+$/', $slug)) {
echo "El slug que has introducido es válido.";
} else {
echo "El slug que has introducido NO es válido.";
}
Si el slug
cumple con los criterios establecidos en la expresión regular se irá por la parte positiva del if, mostrando un mensaje adecuado.
Espero que te sirva para tus objetivos.