Convertir texto en URL SEO

Una de las tareas más comunes en el desarrollo de Web optimizada para los buscadores es el generar los URL en formato SEO, es decir que contengan el titulo, pero que no contengan tildes, comas, espacios en blanco. Esta vez les presentamos la forma de convertir los títulos en URLs optimizadas para los buscadores.

Implementando la text2url
A la función encargada de convertir un texto normal en formato URL la llamaremos text2url, implementaremos esta función en PHP. El primer paso es eliminar los espacios al inicio y al lcon la función trim, luego convertimos todo a minúsculas, luego limitamos los caracteres a números y letras y convertimos los demás caracteres en guiones. Adicionalmente eliminamos los saltos de línea, tabuladores y finalmente reemplazamos los espacios en blanco por un separador que en nuestro caso hemos asignado al guion (-).
function text2url($string) {
$spacer = "-";
$string = trim($string);
$string = strtolower($string);
$string = trim(ereg_replace("[^ A-Za-z0-9_]", " ", $string));

$string = ereg_replace("[ \t\n\r]+", "-", $string);
$string = str_replace(" ", $spacer, $string);
$string = ereg_replace("[ -]+", "-", $string);
return $string;
}


Para hacer uso de esta función simplemente le pasamos como parámetro el texto que deseamos convertir a URL. Podemos ver un ejemplo de uso en el siguiente código.
$title = "MoFuse Versión movil de tu Web en Español";
echo $title;
// MoFuse Versión movil de tu Web en Español
echo text2url($title);
// mofuse-versi-n-movil-de-tu-web-en-espa-ol


Un ejemplo practico de de uso de esta función es el momento de guardar información en nuestra base de datos, por ejemplo si tenemos un tabla donde guardamos los datos de nuestros productos, la forma de insertar esta información incluyendo el URL sería de la forma:
$name = $_POST['name'];
$content = $_POST['content'];
$url = text2url($_POST['name']);

$sql = "INSERT INTO products (name, content, url)
VALUES ('".$name."', '".$content."', '".$url."')";
mysql_query($insertSQL, $conn) or die(mysql_error());


Obviamente esta es una función básica que aunque cumple con los requisitos de crear URL amigables, se podría mejorar con la posibilidad de convertir la vocales tildadas o con diéresis en vocales normales, la cual con un poco de trabajo se puede implementar.

No hay comentarios:

Publicar un comentario