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 minuscula la cadena
$cadena = strtolower($cadena);
//limpiamos saltos de lineas y tab
$cadena = ereg_replace("[ tnr]+", " ", $cadena);
//limpiamos todos los caracteres invalidos
$cadena = ereg_replace("[^ A-Za-z0-9_]", "", $cadena);
//limpieza de espacios vacios de los valores invalidos 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.
Bitacoras.com
September 18th, 2008 hace 1 año y 11 meses
Información Bitacoras.com...
Si lo deseas, puedes hacer click para valorar este post en Bitacoras.com. Gracias....