18
Hoy en día la creación slugs basados en lo títulos de nuestros artículos es muy popular. WordPress, Drupal y muchos más lo utilizan de forma excelente. Sin duda los slugs son muy favorables para el posicionamiento web (SEO) en los buscadores especialmente en Google.
No basta con tener configurado tu htaccess o algún script que permita trabajar con urls amigables, especialmente si trabajamos con una tabla de artículos necesitaremos crear un slug de los títulos para que puedan ser leídos por el método que usemos para generar urls amigables.
Aquí un método que anos ayudara en este proceso.
function caracteres_latinos($cadena){
//acentos
$cadena = ereg_replace("(À|Á|Â|Ã|Ä|Å|à|á|â|ã|ä|å)","a",$cadena);
$cadena = ereg_replace("(È|É|Ê|Ë|è|é|ê|ë)","e",$cadena);
$cadena = ereg_replace("(Ì|Í|Î|Ï|ì|í|î|ï)","i",$cadena);
$cadena = ereg_replace("(Ò|Ó|Ô|Õ|Ö|Ø|ò|ó|ô|õ|ö|ø)","o",$cadena);
$cadena = ereg_replace("(Ù|Ú|Û|Ü|ù|ú|û|ü)","u",$cadena);
//la ñ
$cadena = ereg_replace("(Ñ|ñ)","n",$cadena);
//caracteres extraños
$cadena = ereg_replace("(Ç|ç)","c",$cadena);
$cadena = ereg_replace("ÿ","y",$cadena);
return $cadena;
}
function generar_slug($cadena, $separador = '-'){
//sin espacios al inicio o al final
$cadena = trim($cadena);
//limpiamos caracteres los latinos
$cadena = caracteres_latinos($cadena);
//pasamos a minúscula la cadena
$cadena = strtolower($cadena);
//limpiamos saltos de líneas y tab
$cadena = ereg_replace("[ \t\n\r]+", " ", $cadena);
//limpiamos todos los caracteres inválidos
$cadena = ereg_replace("[^ A-Za-z0-9_]", "", $cadena);
//limpieza de espacios vacíos de los valores inválidos al final de la cadena
$cadena = trim($cadena);
//reemplazamos los espacios vacios por el separador
$cadena = str_replace(" ", $separador, $cadena);
return $cadena;
}
$str = generar_slug('Así es el ejemplo para generar el Slug ¿o no?');
//retornara #-> asi-es-el-ejemplo-para-generar-el-slug-o-no
echo $str;
Muy sencillo pero practico, lo podemos usar para generar un slug del titulo de nuestros artículos y grabarlo en otro campo de nuestra tabla el cual se convertiría en un identificador de la noticia.
Tags: Programación Web, Recursos Web, Scripts, SEO



